gcc編譯沒有main的
1. gcc -c ch01.c -o main與gcc ch01.c -o main 有什麼區別 為什麼前者編譯出來的執行文件不能運行
加-c是編譯不鏈接,生成的是目標文件,-o和-c一起用就是把這目標文件改名輸出成main而已。
單加-o就是編譯且鏈接輸出成執行文件。
2. Clion中terminal為何用gcc main.c沒有反應不能編譯么沒人懂么
誤 no input files 意思是 gcc: 沒有輸入文件 .........你就只寫了個gcc的名字 後面沒寫你的源文件名當然要出錯了 如果你想學C語言的話 推薦你看兩本書 一本叫 <<深入理解計算機系統>> 還有一本叫 <<UNIX系統高級編程>> .再安裝一個linux系統,要比看視頻深入快速的多. 你要是不懂linux可以看<<鳥叔的linux私房菜>>入門, 學C語言用windows入門實在是太難了, 各種各樣的坑等著你去填啊
3. 關於gcc在函數『start』中對main未定義的引用
你是不是在編譯靜態庫或者動態庫?也就是沒有main函數。如果是,再參考一下下邊的提示。
-c
參數表示將源文件編譯成object(目標文件)。
即
gcc
-c
foo.c
會編譯成
foo.o
gcc
不加參數時會編譯且嘗試鏈接成可執行文件,然而
foo.c
的代碼中沒有main函數的定義,所以最終無法成功鏈接,故報錯。
4. gcc -o main main.cpp 和 gcc main.cpp -o main 有什麼區別啊
依賴於g++對命令行參數的解析方式。-o main是選項,第1種是標准用法,與ls -l <file> 和 ls <file> -l是一樣的意思。
這沒有語法角度,-o main main.cpp或者 main.cpp -o main都是參數,直接影響g++程序中argc和argv參數。比如g++ -o main main.cpp,最終傳到g++的main函數中 main(int argc, char **argv)的參數是:argc:4, argv: {"g++", "-o", "main" "main.cpp"},argv是一個字元串數組,第個元素表示一個命令行參數,argc表示命令行參數的個數。g++去解析這些命令行參數,如果想一探究竟,直接查閱源碼就OK。
不建議使用後一種。使用man g++可以查看標准使用方式。
5. gcc編譯好的文件./執行時沒有那個文件
你的頭文件錯了。。gcc是編譯c用的,你寫的是c++,要用g++來編譯。
6. avr stdio中調用了winavr gcc的頭文件,是不缺少了main的定義,如果是話,該怎麼辦呢
int main()
{
}
加一個進去試試。
7. gcc 編譯時報錯"undefined reference to 'main'" 問題
編譯不通過是因為代碼有幾個語法錯誤呢:
1、while 後面不要用分號。
2、return 後面的分號要用英文的分號。
3、第2個while的第一個括弧是多餘的。
8. C語言中沒有main函數生成可執行程序的幾種方法
main函數 就是C程序
C程序生成可執行程序
就是編譯
任何一個編譯器都可以做到
如果你要寫程序來執行這個過程 那就是自己寫一個編譯器了。