易截截图软件、单文件、免安装、纯绿色、仅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/S和B/S的特点

C/S是客户端/服务器端,C/S的程序通常也叫胖客户端,也就是一个程序的大部分功能,都在客户端实现,而服务器端只实现一小部分功能。通过这点不难看出,C/S的程序大部分在客户端实现,对于服务器端的压力相对小一些,服务器端可以节省一些。而且C/S的程序用窗口来做,个人认为开发效率上快一点。但C/S的程序一大弊端就是,必 ......

C/C++——小编谈C语言函数那些事(22)

C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。
 
1.    setmem函数
setmem函数的功能是存值到存储区,其用法为:void setmem(void *addr, int len, char value);程序实例如下:
#include <stdio.h& ......

C/C++——小编谈C语言函数那些事(25)

C程序是由一组或是变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。下面小编和大家分享下C语言中的函数。
 
1.   setwritemode函数
setwritemode函数的功能是设置图形方式下画线的输出模式,其用法为:void far setwritemode(int mode);程序实例如下:
#include < ......

DAY3|编个"hello world"的C程序先~

今天要编个最简单的"hello world"的C程序,算是初步感受下Linux中的编程环境,涉及以下3个步骤:
1. 先在"vim"里编写源文件;
2. 然后再用"gcc"编译生成"hello"的可执行文件;
3. 运行"hello",看看效果。
那么开始吧!
1. vim
vim hello.c
i
#include <stdio.h>
int
main (void)
{
printf ("hello.\n" ......

C和C++程序员学习历程

如何学习C和C++才不茫然,才不是乱学,想了一下,这里给出一个总的回复。
  一家之言,欢迎拍砖哈。
  1、可以考虑先学习C.
  大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个有用的程序员,做一个赚钱的程序员。我们的价值,将体现在客户价值上,而不是语 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号