赞
踩
- // main.cpp int main()
-
- {
- lib_init();
- lib_do_something();
- lib_done();
- lib_close();
- return 0;
- }
现在你已经完成了 main.cpp,但是你必须把它开源!因为它使用了 LGPL 库的代码。这是上面第三条规定的。我不想把它开源,怎么办呢?好,我们建一个新的文件 lib_wrapper.cpp:
- void my_lib_init()
- {
- lib_init();
- }
- void my_lib_do_something()
- {
- lib_do_something();
- }
- void my_lib_done() {
- lib_done();
- }
- void my_lib_close()
- {
- lib_close();
- }
在 main.cpp 中,我们做相应的修改:
- int main()
- {
- my_lib_init();
- my_lib_do_something();
- my_lib_done();
- my_lib_close();
- return 0;
- }
现在,main.cpp 不再是直接使用了 LGPL 库的代码了,因此它不需要开源,而我们的封装器 lib_wrapper.cpp 必须开源。
- void my_lib_done()
- {
- lib_done();
- lib_close();
- }
- void my_lib_close()
- {
- // lib_close();
- }
然后编译这个 lib_wrapper.cpp,最终重新链接。一个新的可执行程序诞生啦!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。