
C/C++
文章平均质量分 59
Lvnux
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++虚函数与纯虚函数
C++中虚函数与纯虚函数都是为了实现多态性而引入的,这里谈谈自己对虚函数与纯虚函数的一点理解。在基类中将某函数声明为虚函数或者纯虚函数后,则子类中该函数自动成为虚函数。虚函数必须在基类中实现,这样子类中可以实现,也可以不用实现该函数,根据实际需要。 纯虚函数在基类中可以实现,也可以不实现,子类中必须有实现。实际上纯虚函数在基类中的实现是没有意义的,因为含有纯虚函数的类是抽象类,抽象类是不能创建对象原创 2016-06-30 11:01:14 · 566 阅读 · 0 评论 -
C++中的字节对齐分析
本文转载自http://www.cnblogs.com/repository/archive/2011/01/13/1933721.html阅读指引: 1. 示例代码 2. 为什么要字节对齐 3. 编译器对字节对齐的一些规则 4. 结合编译器原则分析示例 5. 总结1.示例代码 先看一下这段程序的运行结果。struct A{ int a; char b;转载 2015-12-18 20:04:16 · 426 阅读 · 0 评论 -
判断本地存储模式为大段还是小端
大小端模式介绍 大端模式 所谓的大端模式(Big-endian),是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放; 记忆方法: 地址的增长顺序与值的增长顺序相同小端模式 所谓的小端模式(Little-endian),是指数据的高字节保存在内存的高地址中,而数据的低字节保原创 2016-09-01 17:27:50 · 632 阅读 · 0 评论 -
类似undefined reference to `vtable for <classname>`问题解决
问题现象今天编写代码,编译的时候遇到了类似“undefined reference to vtable for <classname>” 的问题 ,网上查了好久都说是基类的析构函数没有实现,但我的代码中基类的析构函数是有实现的,后来又反复查看代码,发现析构函数中有个一普通的虚函数没有实现(太大意了),将这个没有具体实现的虚函数实现或将其定义为纯虚函数,问题得到解决。解决办法按一下几点排查基类:基类原创 2016-09-20 15:01:32 · 507 阅读 · 0 评论 -
Linux C 修改进程名称(setproctitle())
Linux修改进程名称简介c语言程序运行时,进程的名称通常就是argv[0],修改进程名称就是修改内存中argv[0]存储的内容。下面介绍nginx修改进程名称的方法。原创 2017-02-15 20:17:46 · 6613 阅读 · 0 评论 -
动态库编译:.so: undefined symbol
这几天学习了下共享库相关知识,今天编码发现一点小问题(虽然是小问题,也花了几个小时查找),这里记录下,给大家作个参考。1、问题描述g++编译库文件,编译的时候不报错,但是运行主程序的时候会出现以下错误:/opt/code/c++/sharelib/libshare.so: undefined symbol: my_print2、解决方案编译共享库的时候,一定要以C的方式进行编译。 纯C代码,可直接原创 2017-03-07 17:53:16 · 8626 阅读 · 1 评论 -
Linux 创建守护进程(daemon)
1、创建daemon步骤:要变成daemon,一个程序需要完成下面的步骤:执行一个fork(),之后父进程退出,子进程继续执行。(结果就是daemon成为了init进程的子进程。)之所以要做这一步是因为下面两个原因: 假设daemon是从命令行启动的,父进程的终止会被shell发现,shell在发现之后会显示出另一个shell提示符并让子进程继续在后台运行。子进程被确保不会称为一个进程组首进程原创 2017-02-25 10:37:20 · 1092 阅读 · 0 评论 -
Linux平台C++监控子进程程序
1、问题描述有时候服务端程序会偶现异常停止,这个时候除了要查找程序的bug外,还有拉起程序以继续提供服务。目前为了方便,我们直接用shell脚本去监控服务进程,这种方法比较简单,不再赘述。这里描述另一种方法:服务进程分离为主监控进程和子工作进程,主进程只负责监控子进程(停止、拉起子进程等),子进程负责对外提供服务。监控子进程的程序,个人认为重点如下:子进程收到终止信号后,完成自身善后工作,然后直接原创 2017-04-07 10:26:09 · 3159 阅读 · 1 评论