❶ 通信工程的學生需要學什麼軟體啊
編程,VC。linux下的C編程也可能會用到,要了解LINUX
電路方面,PROTEL
,proteus,EWB,單片機方面KEIL
C51,等等。
模擬,MATLAB,OPNET,NS2,等等。
還有很多軟體。
這些軟體都是通信工程專業有可能會用到的。當然你不必全都掌握,對於大多數人來說也沒有可能全掌握。只要在用的時候能很快上手就行了。
❷ 如何在64位的linux系統上使用匯編和C語言混合編程
編譯和鏈接的時候使用的指令:(AMD處理器,64位操作系統)
編譯鏈接指令
1 nasm -f elf foo.s -o foo.o
2 gcc -c bar.c -o bar.o
3 ld -s -o foobar bar.o foo.o
匯編語言用nasm編寫並用nasm編譯器編譯,而C語言用的是gcc編譯,這些都沒有問題,但是在鏈接的時候出錯了,提示如下:
ld: i386 architecture of input file `foo.o' is incompatible with i386:x86-64 output
google了一下,意思就是nasm 編譯產生的是32位的目標代碼,gcc 在64位平台上默認產生的是64位的目標代碼,這兩者在鏈接的時候出錯,gcc在64位平台上默認以64位的方式鏈接。
這樣在解決的時候就會有兩種解決方案:
<1> 讓gcc 產生32位的代碼,並在鏈接的時候以32位的方式進行鏈接
在這種情況下只需要修改編譯和鏈接指令即可,具體如下:
32位的編譯鏈接指令
1 nasm -f elf foo.s -o foo.o
2 gcc -m32 -c bar.c -o bar.o
3 ld -m elf_i386 -s -o foobar foo.o bar.o
具體的-m32 和 -m elf_i386 請自行查閱gcc (man gcc)
如果你是高版本的gcc(可能是由於更新內核造成的),可能簡單的使用-m32 的時候會提示以下錯誤(使用別人的歷程,自己未曾遇到):
> In file included from /usr/include/stdio.h:28:0,
> from test.c:1:
> /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
> compilation terminated.
這應該是缺少構建32 位可執行程序缺少的包,使用以下指令安裝:
sudo apt-get install libc6-dev-i386
此時應該就沒有什麼問題了。
❸ C51包含頭文件時,頭文件在一個目錄,當前C程序在另外一個目錄,怎麼解決
你的思路是沒問題的,只是你的斜杠用錯了,是用"\",Windows下的路徑符號是"\「,而在版Linux和網路編程環境下,多用「/「表示權路徑。
你的工程在主目錄下,你要包含其他文件夾下的頭文件,可以是以下兩種:
include "\ind\stc.h"
或者
include "..\ind\stc.h"