• c++代码整洁之道

    整洁的代码在团队中无疑是很受欢迎的,可以高效的被其它成员理解和维护,本文参考《C++代码整洁之道》和《Google C++编码规范》,结合自己的一些想法整理如下: C++本身作为面向对象语言,首先介绍下面向对象一般涉及到的开发原则。 面向对象开发原则 依赖倒

  • 互联网人,天生就是送外卖的料!

    2020,形势大变! 过去的互联网骄子们,如今不得不面对现实, 纷纷另寻出路。 那么,他们转行后都适合做什么呢? 让我们一探究竟: ·自媒体人· - - - ·乙方· - - - ·程序员· - - - ·产品经理· ·媒介· ·策划· ·商务· ·设计· ·画手· ·社群运

  • 多线程中如何使用gdb精确定位死锁问题

    在多线程开发过程中很多人应该都会遇到死锁问题,死锁问题也是面试过程中经常被问到的问题,这里介绍在c++中如何使用gdb+python脚本调试死锁问题,以及如何在程序运行过程中检测死锁。 首先介绍什么是死锁,看下维基百科中的定义: 死锁(英语:Deadlock),

  • Linux共享库如何进行版本控制

    大家平时使用Linux系统过程中可能都见过文件系统里有好多带版本号的共享库,如下: lrwxrwxrwx 1 root root 21 Mar 25 18:33 libDeployPkg.so.0 -> libDeployPkg.so.0.0.0-rw-r--r-- 1 root root 31304 Mar 25 18:33 libDeployPkg.so.0.0.0lrwxrwxrwx 1 root

    程序喵大人
    2020-07-06
  • JNI编程如何巧妙获取JNIEnv

    程序喵之前都在介绍Linux和C++方面的知识,这里穿插一篇Java JNI相关的知识点,总结一下自己平时工作心得,相信会对做JNI编程的同学有所帮助。 背景: 作者目前在做Android项目,但大多数逻辑都会在Native层实现,不可避免的需要在Native层使用C++去调用Java

    程序喵大人
    2020-07-06
    编程
  • Linux 为什么要动态链接?与静态链接的区别是什么?

    在前面的文章中程序喵已经介绍过静态链接的原理,这篇文章我们来解密动态链接。 老规矩,先抛出几个问题: 为什么要进行动态链接? 如何进行动态链接? 什么是地址无关代码技术? 什么是延迟绑定技术? 如何在程序运行过程中进行显式链接? 为什么要进行动态

    程序喵大人
    2020-07-06
  • 面试系列之指针和引用的使用场景

    先抛出两个问题: 指针和引用有什么区别? 什么时候应该使用指针?什么时候应该使用引用? 01 指针和引用的区别 首先看一段代码: int a = 1;int b = 2;int *c = nullptr;c = &a;int &d = b; 指针其实就是一个存放内存地址的整数,这个整数表示的是被指向的变

    程序喵大人
    2020-07-06
  • Linux可执行文件如何装载进虚拟内存

    开篇先抛出几个问题,之后逐个击破: 什么是进程的虚拟地址空间?为什么进程要有自己的虚拟地址空间,这样做有什么好处? 我们都听说过页映射,什么是页映射,操作系统为什么要以页映射方式将程序映射到进程地址空间,这样做有什么好处?程序运行过程中发生页

    程序喵大人
    2020-07-06
    内存
  • JNI内存管理之Local Reference 和 Global Reference知识点

    最近开发过程中遇到了JNI的Reference相关问题,了解到Local Reference和Global Reference的相关知识点,整理如下: 背景:项目需求,在Native C/C++层调用上层Android Camera Java接口,把所有的操作包括Camera都沉到Native层去实现。但在JNI调试过程中遇到了

  • 程序一定要从main函数开始运行吗?

    对于静态链接先提出两个问题: Q: 每个目标文件都有好多个段,目标文件在被链接成可执行文件时,输入目标文件中的各个段如何被合并到输出文件? A: 合并相似的段,将所有的.text段合并到输出文件的.text段,将所有的.data段合并到输出文件的.data段。 Q: 链接

    程序喵大人
    2020-07-06
    函数
  • 什么时候需要使用volatile关键字

    想必大家平时都见过volatile关键字,可是大家知道什么时候需要使用volatile关键字吗? 直接看下面代码: int a = 100; while (a == 100) { // code} 这段程序编译时,如果编译器发现程序始终没有企图改变a的值,那它可能就会优化这段代码,变成while(true)的

  • 面试系列之C++的对象布局【建议收藏】

    我们都知道C++多态是通过虚函数表来实现的,那具体是什么样的大家清楚吗?开篇依旧提出来几个问题: 普通类对象是什么布局? 带虚函数的类对象是什么布局? 单继承下不含有覆盖函数的类对象是什么布局? 单继承下含有覆盖函数的类对象是什么布局? 多继承下不

    程序喵大人
    2020-07-06
    C++
  • AUTOSAR OS中断和异常

    分享文章到朋友圈或点在看,加微信cloud2sunshine领取丰厚AUTOSAR学习资料! 点 击 上 方 蓝 字     关 注 我 们 中断和异常 中断 在EB中可以将具有给定中断级别和排队优先级的所有ISR分配给单个线程 当使用EB的Os时,中断应由此Os处理,因此Mcal_EnableALlIn

    糖果Autosar
    2020-07-06
    SAR
  • 射频、微波高频电路用什么材料和工艺?了解一下

    半导体材料是一类具有半导体性能(导电能力介于导体与绝缘体之间,电阻率约在1mΩ·cm~1GΩ·cm范围内)、可用来制作半导体器件和集成电路的电子材料。按种类可以分为元素半导体和化合物半导体两大类,元素半导体指硅、锗单一元素形成的半导体,化合物指砷化镓

  • 电器上的这些符号,究竟有什么特别含义?

    细心的朋友可以会发现,在电器上可以看见一些比如CCC的符号,这些符号有什么特别的含义呢?下面电路菌跟大家好好讲解一下吧! 大多数国家特别是发达国家的政府,为了保护消费者的利益,都制定了一些法律条文来保护产品的安全,对涉及安全、卫生、环境保护和电

    21ic电子网
    2020-07-06
    电器
发布文章