C/C++
文章平均质量分 62
C/C++ 学习
那么菜
仗剑天涯,谁来也不怕
展开
-
Linux基础——g++编译、静态库与动态库(共享库)
在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库(*.a)与动态库(*.so)的生成与使用方式是不同的。刚开始可能会不适应,但是用多了应该会习惯这种使用,因为步骤上并没有VS下配置那么繁琐。下面就分别总结下linux下生成并使用静态库与动态库的方法:(由于是C++项目,所以编译器用的g++,但是与gcc的使用是相通的)。首先是准备工作,把我们需要封装转载 2022-03-23 09:43:15 · 1521 阅读 · 0 评论 -
Linux基础——gcc编译、静态库与动态库(共享库)
gcc 编译器1、gcc工作流程2、gcc常用参数参数 用途 -v 查看版本 -o 产生目标文件 -I+目录 指定头文件目录 -D 编译时定义宏 -00/-01/-03 没有优化/缺省值/优化级别最高 -Wall 提示更多警告信息 -c 只编译子程序 -E 生成预处理文件 -g 包含调试信息 静态库1、静态库的命名格式lib + 库的名字 + .a例:libMyTest.a (My.转载 2022-03-23 09:26:11 · 1070 阅读 · 0 评论 -
#C++# 关于 #ifdef __cplusplus extern “C“ { #endif
现象:平时我们在linux c平台开发的时候,引用了一些Cpp或者C的代码库,发现一些头文件有如下代码条件编译。#ifdef __cplusplusextern "C" {#endif// 代码#ifdef __cplusplus}#endif这个对称结构到底是什么意思呢?结论:当在C++代码中调用了C写成的库文件,就需要用extern"C"来告诉编译器:这是一个用C写成的库文件,请用C的方式来链接它们。原因:C++支持函数重载,而C是不支持函数重载的,两者转载 2022-03-20 11:40:39 · 319 阅读 · 0 评论