1、来聊聊(轻松一刻) 今天跟大家分享一首华晨宇的《我管你》,个人觉得这首歌表达了一种年轻人的热血感,每次听都让自己非常来劲。最近工作挺忙的,写文章或许已经成为了一种兴趣和爱好了吧,也希望每次作者的唠叨都能带给各位小伙伴一些小小的收获。 2、
防御性编程是一种细致、谨慎的编程方法。
在实际开发工作中,稍微对malloc不注意就会导致内存泄漏。而模板方法模式堪称预防这类低级错误的神器!
你知道一次gcc命令究竟经历了什么吗? 我们先来看一段C语言示例源代码: // test.cc#include int main() { printf("Hello 程序喵\n"); return 0;} 编译运行 $ gcc test.cc$ ./a.outHello 程序喵 如图一, gcc构建过程分解 我们平时都会使用gcc来编
非常感谢大家的关注,为了不让大家关注的不明不白,在此用三言两语介绍下小弟,如果大家愿意交个朋友,交流编程,求职,篮球,提升自我那些事儿,可以扫描文末二维码哈。 我来自东北28线城市的农村,上学的时候打篮球占据了我一半以上的生活,是的,比学习
内存泄漏是指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。 我们平时开发过程中不可避免的会
整洁的代码在团队中无疑是很受欢迎的,可以高效的被其它成员理解和维护,本文参考《C++代码整洁之道》和《Google C++编码规范》,结合自己的一些想法整理如下: C++本身作为面向对象语言,首先介绍下面向对象一般涉及到的开发原则。 面向对象开发原则 依赖倒
2020,形势大变! 过去的互联网骄子们,如今不得不面对现实, 纷纷另寻出路。 那么,他们转行后都适合做什么呢? 让我们一探究竟: ·自媒体人· - - - ·乙方· - - - ·程序员· - - - ·产品经理· ·媒介· ·策划· ·商务· ·设计· ·画手· ·社群运
在多线程开发过程中很多人应该都会遇到死锁问题,死锁问题也是面试过程中经常被问到的问题,这里介绍在c++中如何使用gdb+python脚本调试死锁问题,以及如何在程序运行过程中检测死锁。 首先介绍什么是死锁,看下维基百科中的定义: 死锁(英语:Deadlock),
大家平时使用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
程序喵之前都在介绍Linux和C++方面的知识,这里穿插一篇Java JNI相关的知识点,总结一下自己平时工作心得,相信会对做JNI编程的同学有所帮助。 背景: 作者目前在做Android项目,但大多数逻辑都会在Native层实现,不可避免的需要在Native层使用C++去调用Java
在前面的文章中程序喵已经介绍过静态链接的原理,这篇文章我们来解密动态链接。 老规矩,先抛出几个问题: 为什么要进行动态链接? 如何进行动态链接? 什么是地址无关代码技术? 什么是延迟绑定技术? 如何在程序运行过程中进行显式链接? 为什么要进行动态
先抛出两个问题: 指针和引用有什么区别? 什么时候应该使用指针?什么时候应该使用引用? 01 指针和引用的区别 首先看一段代码: int a = 1;int b = 2;int *c = nullptr;c = &a;int &d = b; 指针其实就是一个存放内存地址的整数,这个整数表示的是被指向的变
开篇先抛出几个问题,之后逐个击破: 什么是进程的虚拟地址空间?为什么进程要有自己的虚拟地址空间,这样做有什么好处? 我们都听说过页映射,什么是页映射,操作系统为什么要以页映射方式将程序映射到进程地址空间,这样做有什么好处?程序运行过程中发生页
最近开发过程中遇到了JNI的Reference相关问题,了解到Local Reference和Global Reference的相关知识点,整理如下: 背景:项目需求,在Native C/C++层调用上层Android Camera Java接口,把所有的操作包括Camera都沉到Native层去实现。但在JNI调试过程中遇到了