易截截图软件、单文件、免安装、纯绿色、仅160KB

extern "C" 详解

 extern "C" 详解
在C++中,为了支持重载机制,在编译生成汇编代码时,函数的名字要加入函数的参数类型或者返回值类型等信息
在C中,因没有重载机制,编译后的代码只是简单的函数名字而已,不加入其他的信息 
1. 不加入extern "C"
testexternc.cpp
int mytest(void)
{
int a=10,b=20;
int c=a+b;
return c;
}
 
 
Command: g++ -S testexternc.cpp或者gcc -S testexternc.cpp
Generated file: testexternc.s
        .file        "testexternc.cpp"
        .text
        .align 2
.globl _Z6mytestv
        .type        _Z6mytestv, @function
_Z6mytestv:
.LFB2:
        pushl        %ebp
.LCFI0:
        movl        %esp, %ebp
.LCFI1:
        subl        $16, %esp
.LCFI2:
        movl        $10, -12(%ebp)
        movl        $20, -8(%ebp)
        movl        -8(%ebp), %eax
        addl        -12(%ebp), %eax
        movl        %eax, -4(%ebp)
        movl        -4(%ebp), %eax
        leave
        ret
.LFE2:
        .size        _Z6mytestv, .-_Z6mytestv
.globl __gxx_personality_v0


相关文档:

C/C++ style

 #include <stdio.h>
int main()
{
char *str[] = {"welcome", "to", "fortemedia", "nanjing"};
char **p = str + 1;
str[0] = ( *p++ ) + 2;
str[1] = * ( p + 1 );
str[2] = p[1] + 3;
str[3] = p[0] + ( str[2] - str[1] );
printf ( "%s\n", str[0] );
printf ( ......

C/C++题集

转自: http://hi.baidu.com/elliott_hdu/blog/item/411421dd5bf8dfe977c63876.html
1.下列程序的输出结果为:(B)
#include<iostream.h>
void main()
{
       char* a[ ] = { "hello", "the", "world"};
       char** pa = a;
 &nbs ......

c编程在linux下才有意义

 今天为了给顶嵌杯做准备又回到linux下开始c编程了。刚开始是练习写一个与矩阵变换有关的程序,为了节省时间有一个函数模块是直接用的以前在windows下编程时所使用的。结果在linux下编译完运行之后很快就崩溃了,由于调试水平不高弄了很久也不知到问题出在哪里。正在百思不得其解时忽然注意到(当然不是自己调试出来的 ......

c获得文件大小

 1.MFC中的方法:(C++)
CFileStatus status;
CFile::GetStatus("D:\\test.txt",status);
long lSizeOfFile;
lSizeOfFile = status.m_size;
lSizeOfFile的值就是D:\\test.txt文件的大小
2.标准C获得文件大小的5种方法
(注意:"__FILE__"指的是当前文件,你可以改为有效路径的目标文件,比如"D:\\test.txt")
#i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号