作为大学作业的一部分,我编写了一些 C 程序。在大型程序的情况下,我会将我的代码分发到各种文件中,这些文件将作为头文件包含在主 C 文件中。我想将我的代码重新分发给我的朋友,但不希望他们能够访问完整的代码并剽窃我的程序。那么,如何创建静态(或动态)链接的头文件(使用 *.so 或其他东西)来隐藏头文件中的代码?
如果重要的话,我正在使用 Linux。
谢谢。:)
作为大学作业的一部分,我编写了一些 C 程序。在大型程序的情况下,我会将我的代码分发到各种文件中,这些文件将作为头文件包含在主 C 文件中。我想将我的代码重新分发给我的朋友,但不希望他们能够访问完整的代码并剽窃我的程序。那么,如何创建静态(或动态)链接的头文件(使用 *.so 或其他东西)来隐藏头文件中的代码?
如果重要的话,我正在使用 Linux。
谢谢。:)
假设你有一个.c
和一个文件,你可以像这样编译它们以获得linux 下.h
的共享对象文件( ) 。.so
gcc
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
告诉它链接哪个对象。