簡體   English   中英

在C語言中,我如何編譯然后創建一個帶有標頭和兩個c文件的可執行文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM