C/C++
小春222
这个作者很懒,什么都没留下…
展开
-
GRUB 入门
学习,使用linux必须要会基本的Grub操作,只有这样以后使用中才不会遇到麻烦 例如重新调整分区,安装linux之后重新安装windows,增加/减少硬盘等等。。 都可能导致Grub无法引导系统,面对黑呼呼的Grub>发呆或是上各大论坛发贴求助等待获救? 求人不如求己,赶快掌握Grub基本操作吧! 实际上Grub基本操作是很简单的: Grub命名法,TAB键补全,启动linux/win的命令,原创 2006-08-29 16:50:00 · 736 阅读 · 0 评论 -
几则gdb使用技巧 zz
http://blog.csdn.net/absurd/gdb的功能强大,与带GUI的调试器相比有过之而无不及,使用也就相对复杂一些。一方面是它的亲和力稍差,毕竟是给程序员用的,不用做得傻瓜化。另外一方面它的命令太多,我们常常浅尝辄止,只记得几个常用的命令就知足了,没有充分发挥它的潜力。今天要调试一段ARM汇编代码,按常规方法调试汇编代码非常麻烦,花了点时间看gdb的帮助,发现几个技巧比较有原创 2006-08-30 13:27:00 · 1193 阅读 · 0 评论 -
两则C语言技巧 zz
http://blog.csdn.net/absurd/ 以前用C++时,喜欢去玩一些语法上的技巧,每学到一个技巧都高兴得不得了,总是想找个地方用它,以显示自己的水平。其实我们应该更关心技巧的实用价值,如果一项技巧很巧妙,但很少用它,忘掉了也不必觉得可惜。最近发现两则C语言技巧,以前没有用过,觉得有些实用价值,做个笔记吧。 1. 数组初始化。常见的数组初始化方原创 2006-08-30 13:28:00 · 1087 阅读 · 2 评论 -
C++中extern “C”含义深层探索 zz
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有原创 2006-09-27 10:23:00 · 1058 阅读 · 0 评论 -
const
main(){ const int i=0; int *p; p=(int *)&i; *p=100;}C 和 C++编译运行 都没有问题 (C++ 没有(int *)是err C没有是warning ) 因为在栈 const int i=0;main() { int *p; p=(int *)&i; *p=100; }编原创 2006-09-27 11:39:00 · 1755 阅读 · 0 评论 -
浅谈内存泄漏 zz
对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支原创 2006-10-12 12:23:00 · 1101 阅读 · 0 评论 -
__alignof__ 对齐
GCC 和 XL C/C++ 中的关键字 __alignof__ 让您可以了解一个对象是如何对齐的。它的语法与 sizeof 类似。例如,如果目标及其要求一个 double 类型的值按照 8 字节边界进行对齐,那么 __alignof__ (double) 就是 8。正如在 表 2 中介绍的一样,long double 类型的变量在 x86 平台上是按照 4 个字节进行对齐的,而在原创 2006-08-29 16:27:00 · 7134 阅读 · 1 评论 -
gcc zz
防止gcc -O3 强制 inline一个函数 一个函数,如果代码量比较少的话,用 -O3优化开关的话,gcc有可能将这个函数强制内联(inline)即使,你在函数前没有写inline助记符。 如果是一个手写汇编的函数,那样的话很有可能破坏参数。gcc里有强制不内联的,用法如下void foo() __attribute__((noinline));但是有的gcc可能会忽略 n原创 2006-08-29 16:51:00 · 1497 阅读 · 0 评论 -
GCC属性
gcc扩展功能极多,__attribute__是gcc的关键字,用以描述变量属性,gcc.info中都有详细介绍。下面举几例内核中常见的:__attribute__((regparm(0))) int printk(const char * fmt, ...) __attribute__ ((format (printf, 1, 2)));禁止printk使用寄存器传递调用参数,并将pr原创 2006-08-29 16:45:00 · 1524 阅读 · 0 评论