12 2018 档案
摘要:相关的函数可以被编译为独立的目标模块(.o),然后封装成一个单独的静态库文件(.a)。在链接时,链接器将只复制被程序应用的目标模块。eg 当链接器运行时,它判定main2.o引用了addvec.o定义的addvec符号,所以复制addvec.o到可执行文件。因为程序不引用任何由multvec.o定义
阅读全文
摘要:链接器如何解析多重定义的全局符号(不过我在vs2015 c++ 下发现并没有区分强弱符号,反正符号就是不能重定义。) 规则2,3可能会造成一些问题,尤其是如果重复定义的符号定义还有不同的类型时。eg x在一个模块中定义为int,在另一个模块中定义为double x86-64/linux上,doubl
阅读全文
摘要:linux内核用到了很多数据结构,这些数据结构都是为了提高某些方面的效率。 内核分配给进程的虚拟地址空间由以下内存区组成: 程序的可执行代码 程序的初始化数据 程序的未初始化数据 初始程序栈(即用户态栈) 所需共享库的可执行代码和数据 堆(由程序动态申请的内存) 内核和MMU(内存控制单元)协同定位
阅读全文
摘要:code = curl_easy_setopt(conn, CURLOPT_URL, ca.strUrl.c_str()); 要char* 不能string
阅读全文
浙公网安备 33010602011771号