
常用工具
文章平均质量分 73
AI初级布道者
致力于跟紧AI 前沿技术和进展,学习并分享。
拓宽 AI 应用场景。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
gcc生成静态库并调用
在 Linux 环境下使用 GCC 生成静态库(假设我们要创建一个数学库。编译时添加优化选项(如。,包含加法和减法功能。原创 2025-05-30 17:03:33 · 224 阅读 · 0 评论 -
静态库和动态库的区别
静态库(Static Library)和动态库(Dynamic Library,也称共享库)是两种不同的代码复用方式,它们在。通过合理选择库类型,可以平衡性能、维护成本和部署复杂度。每个程序独立包含库代码,占用更多内存。多个程序共享同一库,内存占用更少。只需替换库文件,程序无需重新编译。节省资源、支持热更新、便于维护。需确保目标系统存在对应动态库。独立性强、性能好、无依赖问题。启动快(无运行时加载开销)启动稍慢(需加载动态库)直接嵌入到可执行文件中。体积大、更新需重新编译。较小(仅保留库引用)原创 2025-05-30 17:02:30 · 390 阅读 · 0 评论 -
gcc生成动态库并调用
在 Linux 环境下使用 GCC 生成动态库(较大(库代码嵌入可执行文件)假设我们要创建一个数学库。编译时添加优化选项(如。共享内存(多个程序共用),包含加法和减法功能。每个程序独立占用内存。原创 2025-05-30 17:01:34 · 352 阅读 · 0 评论 -
GCC编译命令
链接时优化(跨文件优化,需在编译和链接时都启用)强制静态链接(所有库静态编译进可执行文件)推荐优化级别(提高性能,不影响可调试性)生成依赖关系(用于 Makefile,仅编译,不组装和连接,生成汇编代码(生成位置无关代码(编译动态库时必需)将警告视为错误(强制解决所有警告)显示详细的编译过程(调试时有用)禁用栈保护(安全研究时可能用到)优化代码大小(嵌入式系统常用)启用所有警告(推荐始终使用)添加调试信息(用于 GDB)激进优化(可能增加代码体积)生成调试信息(用于 GDB)目标文件(用于分步编译)原创 2025-05-30 17:00:58 · 1372 阅读 · 0 评论 -
GDB调试常用命令
使用GDB调试的时候,GDB默认只能跟踪一个进程,可以在fork函数调用之前,通过指令设置GDB调试工具跟踪父进程或者是跟踪子进程,默认跟踪父进程。-Wall 的作用: 在不影响程序行为的情况下打开所有warning,发现更多的问题,避免不必要的BUG。-g 的作用:在可执行文件中添加源代码信息,比如可执行文件第几条对应源码第几行。结束当前调用函数并返回指定值,到上一层函数调用处。监视某一个变量或内存地址的值是否发生变化。切换到当前调用线程的指定堆栈。查看当前线程的调用堆栈。运行一个待调试的程序。原创 2025-05-23 11:40:41 · 523 阅读 · 0 评论 -
vscode快捷键
按名称搜索文件,快速打开。对解决方案运行代码分析。代码格式整个文档内容。文件夹中的上一个书签。导航、搜索和替换操作。导航编辑器组历史记录。切换到下一个文档窗口。切换到上一个文档窗口。原创 2025-04-14 13:58:45 · 842 阅读 · 0 评论 -
GIT常用命令二
u 或 --set-upstream 选项会将本地分支与远程分支关联起来,这样以后你就可以使用 git push 或 git pull 而无需指定具体的远程分支。正常clone包含子模块的函数之后,由于.submodule文件的存在someSubmodule已经自动生成,但是里面是空的。其中,<branch_name>是要删除的分支的名称,冒号前面的空格表示删除操作。其中,<branch_name>是要删除的分支的名称。其中,<branch_name>是要删除的分支的名称。原创 2025-04-14 11:43:59 · 512 阅读 · 1 评论