c使用汇编的变量

C文件中的变量和函数名 name, 对应于 汇编语言中的 _name,即在变量或者函数名前加一个"_". 由于C++ 支持重载,即可以定义函数名相同,但参数类型不同的函数。其在编译时,由编译器 根据函数的参数类型确定一个实际的函数名(或者汇编语言中的函数名),这个命名规则叫比较复杂了,不像C,仅仅是在变量名 和 函数名前加下划线。 由于这个原因,在C文件 定义一个名为name 的全局变量或函数 和 cpp文件中定义的名为name 全局变量/函数,其实际的变量名是不同的。如果在cpp文件中引用c文件中的全局变量或者函数,必须使用在函数声明前加“ extern "C" ", extern "C" 保证了其真实的名称(从汇编语言视角)等于c/Cpp 文件中的 变量/函数名 前缀一个"_"(下划线)。 从这个角度,我们不难明白 1. 如果要在c文件中使用汇编语言中的变量,则在汇编语言中定义变量是必须以 下划线 开头,在c文件声明中则需要不含这个下划线。 2. 如果要在cpp 文件中使用汇编语言中的变量,则在汇编语言中定义变量是也必须以下划线 开头,在cpp文件,声明时中则必须包含extern C" 关键字,并且变量名必须不带下划线。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PE格式第三讲扩展,VA,RVA,FA的概念

    VA (virtual Address) 虚拟地址的意思 ,比如随便打开一个PE,找下它的虚拟地址

    战神伽罗
  • Android 二维码 生成和识别(附Demo源码)

    今天讲一下目前移动领域很常用的技术——二维码。现在大街小巷、各大网站都有二维码的踪迹,不管是IOS、Android、WP都有相关支持的软件。之前我就想了解二维码...

    战神伽罗
  • php类似于javascript encodeURI和decodeURI解码的方法

    <script language="javascript"> var a = encodeURI("电影"); alert(a); var b =...

    战神伽罗
  • C++随记(八)---存储持续性、作用域和链接性

    版权声明:本篇文章是阅读《C++primer plus (第6版)中文版》第9章之后所作的笔记。部分文字和图表摘自于这本书。 C++随记(八)---存储持续性、...

    TeeyoHuang
  • SAS-函数(二),几个很好用的函数~

    第二部分的函数也是很常用的基本函数,学会了某些函数,在编程上回很省事,效率也会大大的提高...

    Setup
  • WPF SharpDx 性能优化方法

    监听了 Window 的 ContentRendered 事件将会降低整个 WPF 的渲染性能

    林德熙
  • 网站的友情链接是什么?

    友情链接是具有一定资源互补优势的网站之间的简单合作形式,即分别在自己的网站上放置对方网站的LOGO图片或文字的网站名称,并设置对方网站的超链接。

    大脸猫
  • AR开发--(二)手势识别-FingerGestures

    写这篇文章其实已经做完所有的开发工作,今天周末所以搞起,因为项目需要的是手指在屏幕上操作。所以寻找插件,发现这个需求还是蛮多的。

    雷潮
  • C++快速入门

    引用变量 引用一个变量就是定义了一个变量,和原来的变量使用同一个值。引用变量将值改变,原来这个变量的值也随之改变。 它和传地址的性质一致。 /** *定义一...

    大闲人柴毛毛
  • Java 函数式编程和 lambda 表达式

    函数式编程更多时候是一种编程的思维方式,是种方法论。函数式与命令式编程的区别主要在于:函数式编程是告诉代码你要做什么,而命令式编程则是告诉代码要怎么做。说白了,...

    芋道源码

扫码关注云+社区

领取腾讯云代金券