2013-08-25 50 views
-1

我已經寫了幾個C程序作爲我大學作業的一部分。在大型程序的情況下,我會將我的代碼分佈在各種文件中,我將其作爲頭文件包含在主C文件中。 我想將我的代碼重新分配給我的朋友,但不希望他們能夠訪問完整的代碼並抄襲我的程序。 那麼,如何創建靜態(或動態)鏈接頭文件(使用* .so或其他)來隱藏頭文件中的代碼?寫C頭文件

如果有問題,我正在使用Linux。

謝謝。 :)

+5

如果你不相信你的朋友,最好不要給他們任何代碼。 –

+2

只是共享可執行文件:D – P0W

+2

你的問題不是關於「編寫頭文件」,而是關於創建庫(.a或.so,因爲你在Linux上,可能使用gcc)。 Google如何用gcc創建一個庫,我相信你會找到你所需要的。 – mah

回答

1

假設你有一個.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告訴它要鏈接哪個對象。

+1

這就是我正在尋找的!謝謝! –