首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客609995575号
杭州电子科技大学 soc前端设计
发布于湖北
关注
已关注
取消关注
@孙笑川的叠:
嵌入式八股文3 编译与调试
1.编译过程(预编译(展开宏定义,处理预编译指令生成.i文件),编译(把.c或.cpp编译汇编指令,生成.S文件),汇编(把汇编编译成二进制文件.o),链接(链接所有的.o文件和库文件,生成可执行文件)2.编译器优化(编译器会自动优化一部分代码,比如提高性能,减少冗余的代码内容,去掉不需要执行的代码等,对gcc用-O来开启优化,一般有3个优化等级,-O0表示不优化)3.gcc如何开启调试信息(编译时加上-g选项)4.gdb操作(gdb a.out进入gdb模式,run运行程序,b打断点,s单步调试,n单步调试进入子函数,thread_info查看线程,bt查看堆栈信息,f进入具体的栈帧,disassemble查看反汇编)5.linux如何查内存泄漏(valgrind等工具,或者自己加日志埋点)6.linux如何查程序崩溃(打断点或者打印大法或者gdb在崩溃后查coredump文件,找到堆栈信息,查看停在哪里)7.makefile和cmake(makefile是make用来编译的规则,但是由于跨平台性不足及编写难度偏大,于是有了cmake工具。语法较多不展开多说,本质上是先把Cmakelist.txt的文本内容通过cmake转为makefile,然后编译器再根makefile进行编译)8.动态链接和静态链接(动态链接是把依赖库单独放在一边,可执行文件中只有符号表没有二进制内容,因此是在程序执行时再去找二进制内容。静态链接是把所有依赖打包整合到可执行文件。动态链接的可执行文件小,更新灵活,可移植强,但需要运行时去搜索,性能相对差一点。静态链接缺点是可执行文件占用空间大,编译慢,优点是运行速度快,不依赖环境)9.C++的'extern C'的作用(让C++程序正确调用C代码,因为C++虽然兼容C语法,但编译器生成的函数符号是不一样的,可能导致链接出错或者执行时出现undefined reference等提示)10.编译时undefined reference出现原因(包含了头文件并调用了某个函数,但该函数没有被实现,只有声明没有定义。一般来说可能是没有对函数体进行编写,或者没有把对应的.c文件加入到编译工程。其次也可能是虚函数没有得到重写,找不到虚表等)11.C程序函数参数入栈顺序(从右到左依次入栈)
点赞 2
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
01-26 16:04
西安电子科技大学 Java
不是吧,不是吧,前端面试又出新玩法了?!
前端新的面试题又来咯拖拽与 DOM问题 1:拖拽过程中,如果原本的元素消失了,onDrop 还能触发么?具体表现是什么?答案: 能触发。onDrop 事件会在放置的目标元素上触发。具体表现是:拖拽源元素在拖拽过程中被移除(如设置为 display: none 或从 DOM 中删除),只要鼠标在有效的放置目标上释放,onDrop 仍会触发。但是,event.dataTransfer 对象中关于拖拽源的数据可能变得不可靠或丢失。问题 2:如何改变拖拽预览图?答案: 使用 DataTransfer.setDragImage() 方法。 element.addEventListener('dragst...
点赞
评论
收藏
分享
01-27 16:44
卓驭科技_HR(准入职员工)
卓驭(大疆车载)内推
自我介绍随后对项目经历的真实性进行了核实,包括项目背景、团队构成及个人分工;面试官询问是否亲自编写过IIC和SPI的底层驱动代码(回答为是);对比IIC与SPI通信的区别(主要涉及速率方面IIC较低而SPI较高、IIC为半双工而SPI为全双工、通信结构上IIC支持多主多从而SPI一般为单主多从点对点模式);介绍BootLoader进行固件升级的整体流程;解释static关键字的用途(可用于修饰变量和函数);阐述函数指针的概念及其实际应用场景(例如在BootLoader中实现向应用程序的跳转);说明结构体变量的几种初始化方式(包括定义后逐成员赋值、定义时按声明顺序初始化、以及定义时通过指定成员名...
点赞
评论
收藏
分享
2025-12-23 23:49
门头沟学院 前端工程师
原来前端已死是这个意思
双非前端已死 投一大圈一个面试约不到 我真心碎了 前端已死
程序员花海:
实习写的太偏项目了
点赞
评论
收藏
分享
01-22 17:50
曲阜师范大学 产品经理
实习生怎么快速融入团队
实习生怎么快速融入团队,主要概括为两点:第一是懂业务,第二是让自己的言行更像团队成员。1.懂业务懂业务这件事,最重要的不是搞懂某个具体的事情怎么做,而是要把整体的业务方向给搞清楚。如果公司有一定规模,通常都会有年度或季度规划类文档,这些文档能帮你理解业务的大方向,而你每天做的具体事情,本质上都是在为这个方向服务。第二是尽早和mentor进行一次一对一沟通,了解公司的整体规划、他负责的事情、你负责的边界,以及你日常需要重点对接哪些人、他们的沟通风格是什么。第三是我个人非常推荐的一点,就是每天记录自己做了什么、学到了什么,或者犯了什么错误,这不仅能帮助你快速成长,后续如果实习转正,甚至还能作为一个...
实习教会我的事
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
J人永远闲不下来于是去提前实习
2293
2
...
拥抱AI,程序员的最后出路
2227
3
...
mentor视角下的优秀实习生
2173
4
...
牛客吐槽大会 | 有槽不吐,留着过年?吐完领现金红包,痛快!
1769
5
...
努力挣钱的意义具象化了
1636
6
...
大厂提前实习对AI开发的新感悟
1470
7
...
真正会被取代的,是你心里面的幻觉
1457
8
...
去独角兽做龙头还是去大厂做凤尾
1376
9
...
我身材再曼妙,也没有我的工资好笑!
1369
10
...
滴滴lastweek,知无不言
1251
创作者周榜
更多
正在热议
更多
#
牛客吐槽大会
#
3126次浏览
67人参与
#
机械人你知道哪些单休企业
#
83101次浏览
415人参与
#
今年春招是金一银二嘛?
#
8560次浏览
118人参与
#
参加完秋招的机械人,还参加春招吗?
#
103722次浏览
686人参与
#
1月小结:你过的开心吗?
#
1925次浏览
51人参与
#
抛开难度不谈,你最想去哪家公司?
#
4631次浏览
118人参与
#
为什么有人零实习也能进大厂?
#
5281次浏览
132人参与
#
AI求职实录
#
3905次浏览
108人参与
#
AI时代的工作 VS 传统时代的工作,有哪些不同?
#
8481次浏览
206人参与
#
机械人春招想让哪家公司来捞你?
#
379296次浏览
3141人参与
#
当你问AI“你会取代我的工作吗”,它说_?
#
3792次浏览
140人参与
#
你的第一家实习公司是什么档次?
#
4368次浏览
74人参与
#
没关系,至少我的__很曼妙
#
3761次浏览
65人参与
#
赚钱的意义在这一刻具象化
#
4061次浏览
99人参与
#
你的landing期是如何度过的?
#
8838次浏览
172人参与
#
除了Java,最推荐学什么技术?
#
6009次浏览
149人参与
#
我发现了面试通关密码
#
1600059次浏览
19679人参与
#
一人一道大厂面试题
#
114110次浏览
1263人参与
#
你觉得什么岗位会被AI替代
#
36835次浏览
256人参与
#
你在职场上见过哪些“水货”同事
#
30758次浏览
168人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务