有沒有地方可以找到並行的簡單C和x86程序的例子?我在互聯網上發現的例子似乎從「這裏是x86中的Hello World」直接跳轉到「編寫你自己的操作系統!」當你做一些像調用函數一樣的東西時,我會遇到內在的問題。並排C,x86程序
回答
我建議看看GCC的中間組件的輸出,例如呼叫
gcc -S a.c
再看看作爲
大部分時間裏,通過優化產生更小,更容易理解裝配,使你寧願使用
gcc -O -S a.c
+1也可以。我記不起開關了。 – 2011-04-23 07:59:47
如果您的意思是x86彙編語言,請使用objdump --disassemble myprog
(在任何GNU系統上)顯示您的C程序生成的彙編語言。如果你的系統沒有objdump,你可以使用ndisasm。
假設你的意思是x86彙編,然後用gcc你可以使用gcc -S yourhelloworldprogram.c
得到彙編輸出。對於Visual Studio,您可以通過以下方式獲得彙編程序輸出:How do I get the assembler output from a C file in VS2005
我推薦ddd。你可以擁有兩個C源代碼(如果你用調試符號構建的話)和機器代碼顯示。您也可以交互式地探測代碼來探測寄存器和內存值。一個偉大的學習工具。
在gcc上,您可以使用-save-temps -fverbose-asm
選項,它比-S
選項更好,因爲它仍然會生成目標文件,並且還會獲得預處理器文件。 verbose-asm也很重要,因爲它會向程序集輸出添加註釋,從而使程序的函數和變量名稱與生成的彙編代碼之間建立鏈接。特別是在通過優化生成時,通常很難在源代碼C和程序集之間建立鏈接。
- 1. 拓撲排序asm x86
- 2. x86 Asm插入排序
- 3. 無法在c:\\程序文件(X86)
- 4. 程序集x86 movsb
- 5. 將x86轉換爲x86-64程序集
- 6. 在x86 32位程序集中快速排序的優化
- 7. Visual C++合併排序
- 8. 合併排序錯誤C
- 9. C++合併排序工具
- 10. C++合併排序問題
- 11. C#排序並放回Regex.matches
- 12. 合併排序Objective-C
- 13. 合併排序(pthreads)C++
- 14. C#合併排序性能
- 15. 合併排序代碼C++
- 16. 實現合併排序C++
- 17. 選擇排序程序C
- 18. C中的排序程序
- 19. C++合併排序不會合並?
- 20. 選擇排序在x86彙編
- 21. 多線程合併排序
- 22. 多線程合併排序
- 23. 提高C++程序的I/O性能[外部合併排序]
- 24. 我的C++合併排序程序有什麼問題?
- 25. 程序文件(x86)問題
- 26. 程序集x86 - 代碼
- 27. x86程序參數位置
- 28. Linux x86引導程序
- 29. x86程序凍結[tasm]
- 30. 循環x86程序集
你的意思是x86彙編語言?還是有一種叫做x86的語言? – 2011-04-23 07:52:36