Linux开发
Linux系统开发相关内容
机器人小白
人工智能相关行业工作
展开
-
简述程序的开发与执行
关键字:程序语言、编译器、可执行文件、交叉编译、库的链接与加载、程序员的自我修养一个程序的执行从高级语言到机器上可以执行的程序是有一个完整的流程,我们姑且称其为一段代码的旅行。图1展示了在这段旅行中的几个关键的环节,该篇文章主要是做一个流程的简述,具体的内容展开说明。 ...原创 2019-09-17 23:25:52 · 2610 阅读 · 0 评论 -
C语言之编译和链接
该文章是对《程序员的自我修养》中第二章编译和链接的个人理解和总结,捎带有一些扩展。对于要把代码执行起来,本文的知识就足够了。一个C语言的文件编译成二进制的可执行文件会经历这样几个过程:预编译:将代码中带有#的地方进行处理,其中也就包含条件编译和宏定义,就比如h文件的前面会有一个#ifdef,其就是防止符号被重定义。#define比较特殊,其是是宏定义,且有比较多的妙用,其功能是替换某些变量...原创 2019-09-19 23:32:25 · 220 阅读 · 0 评论 -
C++与C语言接口相互调用
工作中遇到cpp调用c文件的接口,出现符号找不到的问题,后面定位出是cpp文件找不到c的接口。具体的解决方案和说明参见参考资料。extern "C"是C++的特性,是一种链接约定,它并不影响调用函数的定义,即使做了该声明,对函数类型的检查和参数转换仍要遵循C++的标准,而不是C。主要是为了解决C++在调用C函数库时,用C++直接链接就会出现不能识别符号的问题,而用上extern "C"后,告诉...原创 2019-10-09 22:23:03 · 603 阅读 · 0 评论 -
Gtest交叉编译
工作要用到gtest在多种硬件平台上编写同一套测试代码,需要在嵌入式平台上编译测试使用。具体的解决方案是配置交叉编译链和配置编译参数,方案参见参考资料的第二部分。参考资料:1. gtest在嵌入式设备上的使用-入门级(gtest-1.7.0)https://blog.csdn.net/taixinlfx/article/details/79466270...原创 2019-10-09 22:49:05 · 2400 阅读 · 0 评论