[英]How do I link two header files and 3 c files into a single executable in C programming?
[英]In C how do I compile and then create an executable file with a header and two c files?
我總共有三個C文件。 一個是頭文件[ .h
],兩個是源文件[ .c
]。
.h
文件被稱為encryption.h
,而相應的源文件是encryption.c
。 encryption.c
具有邏輯,但沒有main()
函數。 我的第二個c文件稱為main.c
我有main()
函數,該函數從encryption.c
調用方法。
我正在Mac OSx的終端中編譯這些文件。 我對如何進行編譯感到困惑,我嘗試了以下方法:
gcc -c main.c
gcc -c encryption.c
gcc -c encryption.h
gcc main.o encryption.o encryption.g.gch -o encrypt
但這似乎不起作用,它說我已經有一個預編譯頭了。 我試着在網上找到答案,我知道這很簡單,但是運氣不高。 這是什么問題?
不要編譯頭文件。 標頭文件應包含在源文件中(使用#include
指令,在c
)。 只需編譯源文件並將它們鏈接在一起。 就像是
gcc -c main.c
gcc -c encryption.c
gcc main.o encryption.o -o encrypt
或者,簡而言之,
gcc main.c encryption.c -o encrypt
注意:如果在編譯時擔心頭文件的存在 (或不存在),請使用gcc -E
選項檢查每個源文件的預處理輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.