c语言 extern_Visual C++ 6.0环境中C语言extern 变量使用过程报错

    extern 变量称为外部存储变量。extern声明了程序中将要用到但尚未定义的外部变量。本次错误的解决方法同样适用于外部函数。外部函数就是可以被其他源文件调用的函数,定义外部函数时使用extern进行修饰。

    首先,分别创建两个源文件“ex1.c”和“ex2.c”。其中,“ex2.c”声明了一个外部整型变量a,暂未定义它的值;“ex1.c”中定义了一个变量名相同(a)的整形变量,值为10。此时执行“ex2.c”报如下错误:

Linking...

ex2.obj : error LNK2001: unresolved external symbol _a

Debug/ex2.exe: fatal error LNK1120: 1 unresolved externals

执行 link.exe 时出错.

ae8466bcd40e31cf88a49b3f8c12e50c.png

    出现上面的错误,百度的解法五花八门,其中最热门的解法,也就是大家普遍发表的文章内容,如下图,然而却不管用(此方法可能适用于其他情况)。

af2420c7e6ce72c0183accb2d8051652.png

    其实只需要分别编译一下两个源文件“ex1.c”和“ex2.c”即可解决(主要还是“ex1.c”的编译)。一开始作者也是没有分别编译一下这两个源文件,只是编译和构建了“ex2.c”,结果就报上面的错误,然后埋头于百度的解法,硬是没能解决。

    是否编译了“ex1.c”可以从左侧栏中判断,编译后有变量a。

    编译前:

05fd55a324ddf26d9f21457644823db9.png

    编译后:

d03a0af8d531d6d51a3a9c9e8b93c43b.png

    此时执行“ex2.c”不再报错,控制台输出结果

c8d68b3a3eb6c74fd699af4139362555.png

[注]:在C语言中定义函数时,如果不指明函数是内部函数还是外部函数,那么将默认指定函数为外部函数,也就是说,定义外部函数时可以省略关键字extern,但是不能省略声明外部函数中的extern。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么删除mysql的所有文件内容_mysql删除全部数据库

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

盘点大厂的那些开源项目 - 华为

HarmonyOS鸿蒙系统(HarmonyOS),是第一款基于微内核的全场景分布式OS,是华为自主研发的操作系统。华为会率先部署在智慧屏、车载终端、穿戴等智能终端上,未来会有越来越多的智能设备使用开源的鸿蒙OS。鸿蒙 OS 底层由鸿…

SAP项目文档 清单 考核标准

SAP项目文档的考核标准项目启动阶段 项目计划及对计划的调整 建议: 1、 对项目进度进行分类,定义每个阶段的关键任务。 2、 对每个阶段应形成的文档进行说明,哪类文档由谁制作,由谁签核必须做出统一的规定。最好能提供每类文档的标…

详解C#break ,continue, return

C#编程语法中break ,continue, return这三个常用的关键字的学习对于我们编程开发是十分有用的,那么本文就向你介绍break ,continue, return具体的语法规范。C#编程语法中我们会碰到break ,continue, return这三个常用的关键字,那么关于这三个关键字的使用…

ubuntu mysql怎么备份_Ubuntu下MySQL备份与异地备份

下面是一则MySQL备份实例,在Ubuntu下测试通过。完成任务是本地备份。可用于服务器端。#! /bin/bashecho "backupmysql V1.0"###date stamp###datestamp$(date %Y-%m-%d)###path ###startdir/home/user/mysqlbackup###bakfile prefix###fileprefixsqlecho …

TC字符界面-菜单程序【原创】

TC字符界面-菜单程序【原创】2008/03/06 22:58/*本程序代码属本人原创&#xff0c;未经允许不得转载&#xff0c;谢谢合作作者&#xff1a;HungryAnt发布时间&#xff1a;2008-3-6*//*快捷键功能没有提供,因为程序有各自的快捷键*/#include<stdio.h>#include<conio.h&…

java 位运算_java学习之运算符与表达式(四)

(6)位运算符位运算是指对整数按二进制的位进行运算。位运算用于整数或字符类型。有7个&#xff1a;~(非)、&(与)、&#xff5c;(或)、^(异或)、<>(右移)、>>>(无符号右移)。例&#xff1a;以byte类型4为例。byte类型占用1个字节。4的二进制为&#xff1a;00…

【Http】一文备忘Http状态码(406,415,422)

最近在调试接口时&#xff0c;web api 报了一个415状态码。好久没见到这个状态码&#xff0c;一时还真不知道啥情况。所以&#xff0c;人的大脑是有遗忘规律的&#xff0c;为了加深印象&#xff0c;所以我觉得我有必要再复习一下。1.HTTP的状态码 首先复习一下所有的状态码。1x…

mysql innodb 多线程插入_mysql innodb 并发插入问题,包大量死锁错误

开了10个并发写线程&#xff0c;没1000条记录批量提交一次&#xff0c;结果mysql包大量死锁错误&#xff01;"Deadlock found when trying to get lock; try restarting transaction"引擎用的是Innodb 主键字段是auto_increament.mysql 有这么脆弱吗&#xff1f;crea…

什么是SEO策略呢

从2005年后&#xff0c;我基本都只是给大型网站做SEO&#xff0c;因为给大型网站做SEO&#xff0c;效果非常的明显&#xff0c;价格自然也可以收的非常高。总结这两年来我做过的几十家大型网站的SEO经验&#xff0c;我发现&#xff0c;SEO策略是最为重要的。什么是SEO策略呢&am…

infor wms 项目启动_广汽本田增城工厂No.2L WMS项目正式启动

Warehouse导读&#xff1a;近日&#xff0c;在生管科No.2L办公室&#xff0c;广汽本田增城工厂No.2L WMS项目启动大会如期召开。生产管理科&#xff0c;IT科&#xff0c;FNL以及汉得信息有限公司的WMS项目组成员参加了本次启动大会。Management2018年10月&#xff0c;生管科已经…

mysql动态扩展_动态可扩展查询MYSQL5.7JSON+虚拟列+Mybatis

背景&#xff1a;现有业务扩展字段&#xff0c;都存在feature字段&#xff0c;存在语义不清晰以及&#xff0c;难以利用索引查询问题Mysql 5.7后推出利器&#xff0c;JSON虚拟列&#xff0c;即实现了业务语义统一&#xff0c;也支持索引查询加速一、简单描述MySQL 5.7.7 labs版…

asp.net core安全事项(中)

上传文件上传文件是造成风险的很大因素&#xff0c;所以对上传文件进行处理是重要的&#xff0c;首先要处理的是&#xff1a;a、上传文件大小限制&#xff1b;b、上传文件类型(能过扩展或&#xff0c;或文件头)限制&#xff1b;c、上传的名称要替换掉&#xff1b;d、上传的文件…

TCL:花开刹那还是浴火重生

TCL&#xff1a;花开刹那还是浴火重生 [url]http://www.sina.com.cn[/url] 2008年04月07日 15:24 民营经济报本报记者 叶键 TCL3月份公布了2007年财报&#xff0c;公司净利润达3.9亿元&#xff0c;并于3月27日“摘星脱帽”&#xff0c;恢复为“TCL集团”的自由身&#xff0c;…

http referer 验证防御方法_渗透测试 跨站攻击防御与安全检测手法剖析

上一节讲到了渗透测试中xss跨站攻击检测方法和防护,这一节也是关于跨站攻击的另一个手法CSRF&#xff0c;很多客户找到我们想要了解更多的跨站攻击检测方法以及防御此类攻击的办法,想要让网站的安全性更加坚固,对此提醒大家渗透测试网站必须要拿到授权才能测试哦&#xff01;3.…

如何手动连上mysql_如何手动安装MySql

想安装当然要先有一个MySql的安装包 这里使用的是mysql-5.7.12-winx64安装包百度云&#xff1a;http://pan.baidu.com/s/1kVAuXuv       密码&#xff1a;hr391.要将压缩包解压到你的指定位置(最好将要用的工具文件分类放好)例如&#xff1a;D:javaAppmysql-5.7.12-winx6…

WebRTC成为W3C和IETF正式标准

喜欢就关注我们吧&#xff01;2021年1月26日&#xff0c;W3C&#xff08;万维网联盟&#xff09;和 IETF &#xff08;互联网工程任务组&#xff09;同时宣布 WebRTC&#xff08;Web Real-Time Communications&#xff0c;Web 实时通信&#xff09;现发布为正式标准&#xff0c…

weblogic搭建

weblogic的安装过程&#xff1a;首先下载server910_linux32.bin文件&#xff0c;你可以有多种打开方式&#xff0c;可以通过命令行&#xff0c;但我更偏重于双击打开&#xff0c;然后一路next,当然过程中的一些许可要求你的接受,好了 weblogic的第一步安装完成。接着创建weblog…

ironpython3发布时间_.NET 基金会项目介绍-DLR/IronPython2/IronPython3

DLR/IronPython2/IronPython3 是属于 .Net 基金会的一个项目&#xff0c;本文将简要介绍该项目相关的信息。 中文介绍中文介绍内容翻译自英文介绍&#xff0c;主要采用意译、如与原文存在出入&#xff0c;请以原文为准。 DLR/IronPython2/IronPython3 DLR 是基于 .NET Framewor…

mysql非安装_mysql 非安装版的配置

一直以来都是使用wamp中集成的mysql数据库&#xff0c;今天突然想试试下载一个mysql的zip包进行配置。一、下载mysql非安装版下载地址可以到&#xff1a;http://dev.mysql.com/downloads/mysql/ &#xff0c;或者直接点击下载mysql-32bit&#xff1a;http://cdn.mysql.com/Down…