目录
1.函数的声明与定义(多个文件)
当我们需要编写一个需要很多代码实现的程序时,我们一般不会把代码放在一个文件里,而是分成几个模块,最后将头文件汇总到一个文件中去实现程序的功能。下面我会以实现两个数相加的功能为例来介绍。
一般情况下,函数的声明都放在头文件(.h)里,而函数的定义都放在源文件(.c)里面,而我们实现两个数相加的功能,就可以分为三个文件来写:
1.1 add.h
这里面就包含函数的声明,如下图:
1.2 add.c
这里面就包含函数的定义(即函数功能的实现):
因为实现的是两个数相加的功能,所以我把头文件和源文件的名字起的是Add,通常把上述的Add.h和Add.c看作是一个模块,也就是实现两个数相加功能的函数声明加定义的模块。所以名字起的一样。
1.3 test.c
这里面就包含程序的主函数,在这里开始运行程序,并调用上述函数:
当然你要使用上面两数相加的模块,还需要在test.c文件里面引用add.h的头文件,以为Add.h的头文件是自己编写的头文件,所以引用时候用 #include "add.h" 。
2.如何隐藏自己的源代码
当你想把自己编写的实现某个功能的文件发给别人使用,但又不想让别人看见自己编写的源代码,下面我介绍的方法或许会对你有所帮助。(我依旧以上述的实现两个数相加的功能来介绍)
下图是编写好的文件在文件夹里显示的图,以及我用记事本打开的图:
这张图里明显的能看到自己编写的源代码,如果把这样的文件发给别人使用,源代码就会全部暴露出来。
2.1自己写的项目
自己编写一个add的项目,在里面实现两数相加的功能:
上述是自己编写的实现两个数相加功能的项目,想要隐藏源代码发给别人,如何隐藏呢?
上述工程没有主函数,无法运行,编译不了可执行程序(.exe),但是可以编译成静态库(.lib)。
根据上述图片,将配置类型由应用程序(.exe)改为静态库(.lib),再进行编译:
因为项目里面没有主函数,会导致编译错误,但是会编译出来一个静态库文件(.lib),如下:
2.2 别人写的项目
别人创建了一个test_4_15的项目,要用到加法的方法。
此时就需要我们把两数相加的代码发给别人。
2.3 自己项目隐藏发给别人使用
我们可以把上面两个文件发给别人使用,别人将这两个文件复制到自己的项目中。
光导入也不能直接使用,还要在文件里引用头文件add.h和导入静态库add.lib,这样就正常使用了。
而add.lib文件用记事本打开后是一段乱码, add.h文件只能看到函数的声明,了解函数的功能,因此就实现了源代码的隐藏。
3.结语
以上就是如何隐藏自己的源代码,并把文件发给别人使用,希望对大家有所帮助。