摘要:
今天想看看linux的c库源码,但是那源码结构比较乱,跳来跳去比较难看。于是想写个小程序进入c库调试,发现要调试c库还不容易。写了个小程序,用gdb装载,下断点到我关注的c库函数位置,s命令回车发现进去不了,直接跳过了。折腾了半天,终于调试进去了,总结了以下步骤:1,首先下载c库的debug版sudo apt-get install libc6-dbg安装成功后,在usr/lib下面会多出debug目录,里面有安装的debug版c库的动态链接文件。2,编译程序,使用新的debug版c库。比如我写的例子程序名为test.cpp , 使用如下命令编译:g++ -g test.cpp -Wl,-rp 阅读全文
摘要:
今天想看看linux的c库源码,但是那源码结构比较乱,跳来跳去比较难看。于是想写个小程序进入c库调试,发现要调试c库还不容易。写了个小程序,用gdb装载,下断点到我关注的c库函数位置,s命令回车发现进去不了,直接跳过了。折腾了半天,终于调试进去了,总结了以下步骤:1,首先下载c库的debug版sudo apt-get install libc6-dbg安装成功后,在usr/lib下面会多出debug目录,里面有安装的debug版c库的动态链接文件。2,编译程序,使用新的debug版c库。比如我写的例子程序名为test.cpp , 使用如下命令编译:g++ -g test.cpp -Wl,-rp 阅读全文
摘要:
本文,我们来看5种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字和 阅读全文
摘要:
本文,我们来看5种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的开发人员/厂家参考。BSD开源协议BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 不可以用开源代码的作者/机构名字和 阅读全文