頭條 AMD慶祝賽靈思成立40周年 40 年前,賽靈思(Xilinx)推出了一種革命性的設備,讓工程師可以在辦公桌上使用邏輯編程。 賽靈思開發(fā)的現(xiàn)場可編程門陣列(FPGA)使工程師能夠將具有自定義邏輯的比特流下載到臺式編程器中立即運行,而無需等待數(shù)周才能從晶圓廠返回芯片。如果出現(xiàn)錯誤或問題,設備可以在那里重新編程。 最新資訊 為什么按照書上的代碼,編譯老是出錯? 老是又小伙伴在群里說我的代碼是按照書上的代碼敲的,就是編譯不過?想不通呀!目前市面上的一些書都是十來年以前編寫的了,你不幸看的還是這些書,錯誤原因就在這里。 發(fā)表于:9/18/2015 編譯器后門與防御 Shawn the R0ck 寫道 "PoC||GTFO是最近幾年深受0ld sch00l黑客喜愛的電子雜志,最近的一期(第8期)里有一篇名為Deniable Backdoors Using Compiler Bugs(利用編譯器Bug的可抵賴后門)的文章,作者向我們展示了一種可能的威脅,這個威脅模型是需要兩個條件:1)一個可利用的編譯器miscompilation bug; 2) 向目標的開源社區(qū)提交看起來不怎么像后門的patch。作者修改了Sudo 1.8.13的少量代碼去利用Clang/LLVM 3.3的一個bug,最終導致提權。相比傳統(tǒng)的編譯器后門和傳統(tǒng)軟件后門(比如疑似NSA對Linux內(nèi)核代碼的植入),這種方式更加的隱蔽,因為它是針對特定版本的編譯器下手。 發(fā)表于:9/18/2015 為什么每個程序員都應學習代碼編譯器知識 所有優(yōu)秀的計算機科學學院都提供了編譯器課程,但是相對比較少的學校把它作為本科課程的必修部分。這篇文章回答了這個問題:為什么需要學習編譯器知識?即使你從沒打算過編寫編譯器。 發(fā)表于:9/18/2015 編譯器的工作過程 源碼要運行,必須先轉成二進制的機器碼。這是編譯器的任務。 比如,下面這段源碼(假定文件名叫做test.c)。 發(fā)表于:9/18/2015 DSP編程技巧之:詳解cmd文件 cmd文件是編譯完成之后鏈接各個目標文件時,用來指示各個數(shù)據(jù)、符號等是如何劃分到各個段,以及每個段所使用的存儲空間的。許多筒子對cmd文件有畏難情緒,不容易理解各個段的含義,特別是在程序編譯沒有問題。 發(fā)表于:9/18/2015 DSP編程技巧之:不得不看的編譯指示 編譯指示(Pragma Directives)可能是所有的預處理指令中最復雜的了,它的作用是設定編譯器的狀態(tài)或者是指示編譯器完成一些特定的動作。 發(fā)表于:9/18/2015 DSP編程技巧之:非?!瓣P鍵”的關鍵字 什么是“關鍵字”?關鍵字就是已被C語言本身使用,不能作其它用途使用的字,例如關鍵字不能用作變量名、函數(shù)名等。那“關鍵字”到底有多關鍵?簡單得說,就是如果不掌握它們的使用方法,程序就不能按照我們的設計產(chǎn)生預期的結果。 發(fā)表于:9/18/2015 DSP編程技巧之:使用代碼優(yōu)化時必須考慮的五大問題 前面我們提到了使用編譯器的優(yōu)化選項進行不同級別的代碼優(yōu)化的方法。俗話說“好馬配好鞍”,即使我們有了強大的代碼優(yōu)化工具,使得我們書寫的符合ANSI/ISO C/C++的代碼能被高效執(zhí)行,我們在寫代碼時也要考慮到一些必要的原則,從而既能實現(xiàn)代碼的優(yōu)化。 發(fā)表于:9/18/2015 DSP編程技巧之:數(shù)據(jù)類型 DSP的C/C++編程時有多少種數(shù)據(jù)類型?float,double和long double,long和long long這些繞口的名字究竟有什么區(qū)別?數(shù)據(jù)類型使用不正確又會有什么后果?如果你感覺說不清楚,那我們來看看這些到底都是何方神圣吧。 發(fā)表于:9/18/2015 DSP編程技巧之鏈接匯編代碼與C/C++代碼 在DSP的開發(fā)中,常用的算法都可以用C/C++代碼來高效實現(xiàn)。但是對一些特殊寄存器的讀寫,例如某些CPU寄存器的讀寫,因為C/C++代碼無法直接對其訪問,仍然需要使用匯編代碼進行操作。 發(fā)表于:9/18/2015 ?…182183184185186187188189190191…?