导航

随笔分类 -  Asm/C/C++

摘要:关于ODR(one-definition rule)和Template再扯几句:Template要2次编译,因此在每个TU中都要看实现代码,分离编译模型就成空谈了,为了在每个TU中让compiler看实现代码,就要违反ODR了,那就折衷一下,于是要求实现要一致,然后compiler暗中帮你保证只搞出一份出来,一个TU中好说,但是偏偏在多个TU中,compiler和linker却都不检查实现的一致性... 阅读全文

posted @ 2006-12-14 16:11 InterMa 阅读(1061) 评论(0) 推荐(0)

摘要:今天看了一会《Professional Assembly Language》,在P104函数调用的地方,看到了一些好东东,摘抄如下:(如果你不了解函数调用与堆栈清理的基础概念,详见:http://www.turbozv.com/read.php?78 ,赶快补补)首先是一个函数的模版,它自己(被调用方)清理堆栈(这个就是__stdcall了): function_label: pushl %... 阅读全文

posted @ 2006-11-08 11:19 InterMa 阅读(1215) 评论(0) 推荐(0)

摘要:相对于配置python的Omni complete配置(http://www.cnblogs.com/InterMa/archive/2006/09/23/512599.html)来说,配置C/C++的就简单多了,C的不用配了,默认就是好的(^n)。下边说一下C++的Omni complete的配置方法:[1] 需要2个软件的支持: ctags:http://ctags.sourcefo... 阅读全文

posted @ 2006-09-23 15:31 InterMa 阅读(3009) 评论(0) 推荐(0)

摘要:gcc so a 静态库 共享库 动态库 阅读全文

posted @ 2006-07-03 21:32 InterMa 阅读(5523) 评论(1) 推荐(0)

摘要:由于现在还没有支持template分离编译的编译器(记得目前还没有),因此我们常见的template头文件(例如)会把声明和实现都放到一起(而不像我们通常做法只把声明放入头文件中)。这便带来了一个问题,例如:1.c:#include ...2.c:#include ...gcc 1.c 2.c问题就是为什么可以顺利通过呢(呵呵,这个和#ifdef | #define | #endif 预处理无关的... 阅读全文

posted @ 2005-11-10 12:53 InterMa 阅读(1429) 评论(6) 推荐(0)

摘要:毕设的时候搞了这个课题,那么到底C代码从IA32到IA64移植到底有何需要修改之处呢? [1] 首先明确一下我的IA64环境: 安腾2 + RedHat AS3 (64bit version)[2] 其次是关于64bit的Linux: (64bit的windows使用P64模型) 64位的Linux使用了LP64模型,在这个模型下,long 和 指针(void*) 类型都... 阅读全文

posted @ 2005-07-04 19:31 InterMa 阅读(1112) 评论(1) 推荐(0)