我已經寫了幾個C程序作爲我大學作業的一部分。在大型程序的情況下,我會將我的代碼分佈在各種文件中,我將其作爲頭文件包含在主C文件中。 我想將我的代碼重新分配給我的朋友,但不希望他們能夠訪問完整的代碼並抄襲我的程序。 那麼,如何創建靜態(或動態)鏈接頭文件(使用* .so或其他)來隱藏頭文件中的代碼?寫C頭文件
如果有問題,我正在使用Linux。
謝謝。 :)
我已經寫了幾個C程序作爲我大學作業的一部分。在大型程序的情況下,我會將我的代碼分佈在各種文件中,我將其作爲頭文件包含在主C文件中。 我想將我的代碼重新分配給我的朋友,但不希望他們能夠訪問完整的代碼並抄襲我的程序。 那麼,如何創建靜態(或動態)鏈接頭文件(使用* .so或其他)來隱藏頭文件中的代碼?寫C頭文件
如果有問題,我正在使用Linux。
謝謝。 :)
假設你有一個.c
和.h
文件,你可以編譯它們像這樣gcc
下獲得在linux的共享對象文件(.so
)。
gcc -c -fpic file.c
-fpic
是有保證的編譯器生成位置無關的代碼。
,然後讓它共享,只是做:
gcc -shared -o sharedfile.so file.o
要反對鏈接,然後使用:
gcc -L<path_to_library> -o testfile main.c -lsharedfile
-L<path_to_library>
來的鏈接程序到哪裏找到我們共享對象,並且-lsharedfile
告訴它要鏈接哪個對象。
這就是我正在尋找的!謝謝! –
如果你不相信你的朋友,最好不要給他們任何代碼。 –
只是共享可執行文件:D – P0W
你的問題不是關於「編寫頭文件」,而是關於創建庫(.a或.so,因爲你在Linux上,可能使用gcc)。 Google如何用gcc創建一個庫,我相信你會找到你所需要的。 – mah