作者ronin728 (浪人)
標題Re: [問題] 關於標頭檔成為exe一部份的cmd指令
時間Fri Oct 23 04:00:20 2015
※ 引述《machia045413 (Amber)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: DevC++
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
...原文恕刪
: 另外設置的.h標頭檔
: http://pydoing.blogspot.tw/2013/02/cpp-header-file.html
: 補充說明(Supplement):
: 謝謝大家><
我功力不夠,只怕說的東西誤人子弟
所以這篇不會講連結的原理跟機制
想知道這些編譯工具做了什麼
有一本簡體中文書《程序員的自我修養》專講連結與載入
網路上也有很多文章是寫這連結與載入部分的內部機制
有興趣的可以自己找來看,如果是資工本科生的話一定要懂
我的 Windows 有設 Path,所以不用打路徑
請原PO視情況修改指令,以下程式碼與指令
※ 檔案: mc.cpp
#include "foo.h"
int main()
{
Foo f;
f.bar();
}
※ 檔案: foo.h
#ifndef FOO_HEADER
#define FOO_HEADER
struct Foo {
Foo() { }
void bar();
};
#endif
※ 檔案: foo.cpp
#include <cstdio>
#include "foo.h"
void Foo::bar()
{
puts("Foo.bar(). press ENTER to continue...\n");
getchar();
}
※ 編譯指令
cd 原始碼目錄/
g++ -c foo.cpp -o foo.o
g++ -c mc.cpp -o mc.o
g++ mc.o foo.o -o mc.exe
※ 執行結果
Foo.bar(). press ENTER to continue...
題外話
雖然現在的 IDE 都很方便,能自動處理這些事
但是如果有專案要手動處理動建置指令的話
建置工具能幫一些忙
例如 Makefile、Rake... 之類的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.183.81.95
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1445544022.A.388.html
※ 編輯: ronin728 (175.183.81.95), 10/23/2015 04:04:25
推 Sirctal: 跨平台就要Cmake拉 10/23 17:58
推 os653: 那本書超有用的,感謝推薦 10/24 04:27
推 james732: 程式設計師的自我修養有繁體版 10/25 01:16