当前位置: 首页 > news >正文

收费抽奖网站网页开发价格

收费抽奖网站,网页开发价格,苏州哪里做网站,WordPress文章显示htmlextern关键字在C中用于声明变量或函数的外部链接。它通常用于以下几种场景: 声明全局变量:在一个文件中定义变量,在其他文件中使用extern声明该变量,以便在多个文件之间共享。C和C混合编程:在C代码中引用C语言编写的函…

extern关键字在C++中用于声明变量或函数的外部链接。它通常用于以下几种场景:

  1. 声明全局变量:在一个文件中定义变量,在其他文件中使用extern声明该变量,以便在多个文件之间共享。
  2. C和C++混合编程:在C++代码中引用C语言编写的函数或变量时,使用extern "C"来防止名称修饰(name mangling),从而使C++编译器能够正确链接C函数。

extern关键字的使用示例

1. 声明全局变量
假设有两个文件,file1.cpp 和 file2.cpp:

file1.cpp:

#include <iostream>int globalVar = 42; // 定义全局变量void printGlobalVar() {std::cout << "Global variable: " << globalVar << std::endl;
}

file2.cpp:

#include <iostream>// 声明全局变量(不定义,只声明)
extern int globalVar;void modifyGlobalVar() {globalVar = 100;
}int main() {printGlobalVar();   // 调用 file1.cpp 中的函数modifyGlobalVar();  // 修改全局变量printGlobalVar();   // 打印修改后的全局变量return 0;
}

编译并链接这两个文件:

g++ file1.cpp file2.cpp -o main
./main

输出:

Global variable: 42
Global variable: 100

2. C和C++混合编程
假设有一个C语言的头文件和源文件c_code.h和c_code.c,以及一个C++文件main.cpp。

c_code.h:

#ifndef C_CODE_H
#define C_CODE_Hvoid c_function();#endif

c_code.c:

#include "c_code.h"
#include <stdio.h>void c_function() {printf("This is a C function.\n");
}

main.cpp:

#include <iostream>
extern "C" {#include "c_code.h" // 使用 extern "C" 防止名称修饰
}int main() {c_function(); // 调用 C 函数return 0;
}

编译并链接这两个文件:

g++ main.cpp c_code.c -o main
./main

输出:

This is a C function.

详细说明

  1. 声明与定义:

    • 声明:告诉编译器变量或函数的名称和类型,但不分配内存。例如,extern int x;只是声明变量x,不定义它。
    • 定义:不仅声明变量或函数,还分配内存。例如,int x = 42;定义并初始化变量x。

2. 名称修饰(Name Mangling):

  • C++编译器会对函数名称进行修饰,以支持函数重载。这可能导致C语言编写的函数在C++代码中无法正确链接。extern
    "C"阻止名称修饰,使C++编译器使用C语言的链接规范。

3. 作用域:

  • extern变量的作用域是全局的,多个文件可以共享相同的变量。这在大型项目中尤其有用,允许模块之间共享数据。

注意事项

  1. 初始化:
    • extern变量不能在声明时初始化,只能在定义时初始化。例如,extern int x = 42;是错误的,应该是int x = 42;。
  2. 避免重复定义:
    • 确保每个全局变量只有一个定义。在其他文件中使用extern声明变量,而不是重复定义。

通过合理使用extern关键字,可以在C++程序中实现模块化和代码共享,提高代码的可维护性和可扩展性。

http://www.yayakq.cn/news/325761/

相关文章:

  • 成功的营销网站的例子网站源代码程序
  • 用单页做网站 文章直接写上去 百度收录关键词吗浏览器网站免费进入
  • 网站栏目结构优化商城网站开发方案书
  • 做外贸网站好还是内贸网站好安顺公司做网站
  • 销售网站模板wordpress更新主题后错误500
  • 有了域名之后如何做网站仪器仪表公司网站模版
  • 2015网站设计趋势石家庄做网站汉狮网络
  • 网站已运行时间代码百度网页大全
  • 做电商什么素材网站好产品全网营销推广
  • 深圳手机端网站建设收费国企500强名单
  • 完整网站源码下载国内可以做的国外兼职网站
  • 搭建一个网站教程设计师应该知道的网站
  • 做一手房产中介用什么网站好wordpress 主题 广告
  • 郴州信息港网站企拓客软件多少钱
  • 做p2p投资理财的网站wordpress外国人留言
  • 同心县建设局网站python版 wordpress
  • 网站建设行业怎么样上海网站备案信息
  • 家具网站建设策划书防疫优化措施
  • 中文响应式网站模板广安网站seo
  • 重点建设学科网站冶金建设网站
  • 把网站做进微信公众号工程建设标准化
  • 有谁认识做微网站的安徽网站开发与维护专业
  • 如何制作简易网站网站建设项目验收报告
  • 免费制作封面的网站房地产新闻发布会
  • 网站建设丶金手指下拉15国外海报设计网站
  • 网站后台没有编辑器国际知名设计公司logo
  • 鑫迪建站系统鄂州网站制作人才招聘
  • 电子商务自助建网站公司网站备案需要什么资料
  • 试管婴儿网站建设西安做网站排名
  • 福州网站设计企业网站建站官网优化包括什么内容