c语言调试过程中的错误,C语言调试过程中duplicate symbol错误分析
说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境)。如下图:
一.简单分析一下C语言程序的开发步骤。
由上图我们可以看出C语言由编写源程序->编译->链接->运行几个步骤进行。
编写源程序:
C语言的源文件的扩展名为.c,源文件以ASCII的形式存储,不能直接被计算机执行。
编译:
1.把C语言源程序翻译成计算机可以识别的二进制代码,由编译器完成。
2.编译的同时进行语法检查,如果发现语法错误,则编译失败。如果编译成功,生成扩展名为“.obj”的目标文件。
3.每个源文件是单独进行编译的,如果一个项目中有多个.c源文件,则会生成多个.obj目标文件。
链接:
1.将所有有关联的obj目标文件,及系统提供的C库函数等组合在一起生成可执行文件。
2.生成的可执行文件的文件名与源程序文件名形同,计算机可以直接执行。
运行:
双击即可运行生成的可执行文件。
二.错误原因
源文件中引入的另一个源文件。
例如:在main.c中#include
三.错误分析
由于编译的过程是对每个源文件单独进行编译的,如果单个源文件没有语法错误,编译就会通过。而链接过程是将所有有关联的obj目
文件及系统的库函数组合在一起。而include预处理指令类似与代码的拷贝,并且C语言默认情况下不允许重复定义函数,因此引入的源文件
中函数在链接时会报重复定义的错误。也就是我们看到的duplicate symbol错误。
小伙伴们,以后要注意了,在C语言开发中,不允许在源文件中引入其他的源文件,只可以引入头文件呦!
关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态
关于火狐浏览器在开发调试过程中,出现javascript:void(0)的状态 由于火狐浏览器没有安装 Adobe Flash Player 19 NPAPI这个插件 安装好了之后就可以直接运行了
Android APP 调试过程中遇到的问题。
调试过过程中APP安装完启动后有的时候会异常退出,报这个错误.有的时候可以直接启动.查找不到原因.网上说把commit方法替换成commitAllowingStateLoss() 也无效. Andro ...
调试过程中发现按f5无法走进jdk源码
debug 模式 ,在fis=new FileInputStream(file); 行打断点 调试过程中发现按f5无法走进jdk源码 package com.lzl.spring.test; impo ...
【转】MFC中调试过程中查看输出信息 -- 不错
原文网址:http://blog.sina.com.cn/s/blog_4e24d9c501014o39.html 笔记&&方便查阅. ~~~~~~~~~~~~~~~~~~~~~~~~ ...
Android Studio 调试过程中快捷查看断点处变量值(Ctrl+Shift+I无效)?
当你在做Keymap到Eclipse后,在debug过程中,在Eclipse中我们很喜欢用Ctrl+Shift+I去查看一个运算或者调用的结果,这样用起来很方便.但是keymap到Eclipse后,你 ...
[ISE调试] 在ISE调试过程中,遇到过的warning以及消除办法
1.在generate的过程中,在Map环节遇到了下面这个warning 意思:告诉你是黑盒子,而且他本来在设计里面就是黑盒子. 解决办法:点击图中的,会弹出一个代码文件,是声明这个IP核的文件,代码 ...
代码调试过程中easy遇到的问题
前两天身体有些不舒服,也没写啥新文章,昨天下了一天的雨.今天阳光明媚,空气也非常新奇.心情大好. 继翻译为什么输出是String而不是Object,今天先写一下调试方面的东西.java中自带的函数调试 ...
IIC通信控制的AD5259------在调试过程中遇到的奇葩问题
首先说一下的遇到的问题: 1.AD5259按照SCL是100KHz的情况下,可以正常接收上位机的数据,但是一段时间后,就不能正确的按照时序来走了 原因在于AD5259在接收到上位机的数据后需要一定的响 ...
YARN调试过程中的常见问题
执行操作: hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.0.jar wordcount /user/today/i ...
随机推荐
Java内存模型深度解读
Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的.Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型——又称为Java内存模型. 如果你想设计表现良好的并发 ...
Scala学习 —— 元组&;映射
再说集合之前,我们先来回顾一下映射&元祖 映射是键/值对偶的集合,Scala有一个通用的叫法--元组,也就是n个对象的聚集,并不一定要相同类型的.对偶不过是一个n=2的元祖.元祖对于那种需要将 ...
使用elk+redis搭建nginx日志分析平台
elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态 ...
[MODX] 1. Template *
After uploading javascript, css and images to the assets folder. We try to use Template to customize ...
iOS 在viewController中监听Home键触发以及重新进入界面的方法
第一步:创建2个NSNotificationCenter监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@sele ...
javascript的模块开发方法;
c语言调试过程中的错误,C语言调试过程中duplicate symbol错误分析相关推荐
- php 系统日志,PHP中把错误日志保存在系统日志中(Windows系统)
PHP中把错误日志保存在系统日志中(Windows系统) [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: 复制代码 代码如下: error_log = syslog ...
- php输出mysql错误日志_PHP_PHP中把错误日志保存在系统日志中(Windows系统),【将错误记录到系统日志中】 - phpStudy...
PHP中把错误日志保存在系统日志中(Windows系统) [将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: error_log = syslog 或者在运行时使用 i ...
- php 保存错误日志,PHP中把错误日志保存在系统日志中_PHP教程
PHP中把错误日志保存在系统日志中 这篇文章主要介绍了PHP中把错误日志保存在系统日志中(Windows系统),本文讲解了设置方法和查看方法,需要的朋友可以参考下 [将错误记录到系统日志中] 在 ph ...
- ng-template 使用过程中参数传递错误的单步调试
本文涉及到的代码,位于这个 Github 仓库:https://github.com/wangzixi-diablo/ngDynamic 问题描述 我使用如下代码,期望在使用 *ngTemplateO ...
- c语言输出的时候换行错误,C语言中关于输出n个数后就换行的问题。
vc11(vs2012)下编译php 需要原料: vs2012.php源码 1.本机的mingw没搞定,参考网上文章尝试vs2012编译,借助vs2012自带的命令行工具: 需要去bison官网下载b ...
- 做c语言时经常遇到的错误,C语言新人常见问题与错误
不知不觉,学习C语言也快一年了.虽然有C语言课,但是老师完全让我们自己看书,在自学的过程中,和周围同学交流中,以及后来在CSDN,BCCN,百度知道看帖回帖中,也看到许多C语言新人常遇到的问题与常犯的 ...
- 写c语言会出现哪些常见错误,C语言编写常见错误
C51语言编写常见错误 一.循环 1).在进行while,do...while循环时要对while括号里面的变量赋初值,否则可能出现的不是自己想要的结果. 2).在写for循环语句中,特别要注意括号里 ...
- c语言怎么打开mp4格式错误,c语言怎么播放MP4?
C语言编写?windows系统下的还是linux系统下的? 不管有多简单,没有几千行代码是无法实现的. 首先你要会在屏幕上显示图形,这个是显示视频时需要的,显示是最终结果,过程是解码MP4格式的文件, ...
- php 错误记录_PHP中把错误日志保存在系统日志中(Windows系统)
[将错误记录到系统日志中] 在 php.ini 中将 error_log 设置为: error_log = syslog 或者在运行时使用 ini_set() 函数设置. [例1] //关闭错误显示 ...
最新文章
- python 调用linux命令-Python Linux系统管理之Python中执行外部命令
- boost::function30的用法实例
- Excel的VBA连接数据库方法
- PHP5.5中新增的参数跳跃和生成器功能介绍
- 4.7 什么是深度卷积网络?
- Windows引导及安装
- mysql的逻辑备份和恢复
- JAVA实现飞机大战详解
- SQL Server索引 (原理、存储)聚集索引、非聚集索引、堆 第一篇
- 去银行当程序员是一种什么体验
- 基于MPC算法的汽车自适应巡航系统仿真与分析
- CSS的三种使用方法
- 女性bmi计算器JAVA代码_简单的BMI计算器
- JS 案例 跳水比赛评分系统
- 计算机系统思维导图简单画法,思维导图简单画法
- linux内核led驱动开发,从Linux内核LED驱动来理解字符设备驱动开发流程
- 浅析JWT| JWT是啥子,Java构建JWT
- CTP程序化交易入门系列之一:准备
- 【解决】Cloning into ‘xxx‘... remote: HTTP Basic: Access denied fatal:
- 环球时报评出“影响新中国的60位外国人”