当前位置:  技术问答>linux和unix

多个文件使用同一个函数时的重复定义错误

    来源: 互联网  发布时间:2015-10-18

    本文导语:  我用a.h,a.c实现了一个函数,在b.c ,c.c,d.c中均使用了这个函数,所以在b.c,c.c,d.c中用#include "a.h"包含了进来,分别使用 gcc -c a.c gcc -c b.c  gcc -c c.c  gcc -c d.c来生成相应的.o文件没有错误,但用 gcc -o main.out a.o b.o c...

我用a.h,a.c实现了一个函数,在b.c ,c.c,d.c中均使用了这个函数,所以在b.c,c.c,d.c中用#include "a.h"包含了进来,分别使用 gcc -c a.c gcc -c b.c  gcc -c c.c  gcc -c d.c来生成相应的.o文件没有错误,但用 gcc -o main.out a.o b.o c.o d.o 时出现a.c中实现的函数重复定义错误,这该怎么办?
要是在编译 b.o,c.o,d.o时不包含#include"a.h"时,有一个警告信息,说用到的函数没有找到,但在最终用
gcc -o main.out a.o b.o c.o d.o来生成main.out时就没有错误了,而且是 main.out 执行的也正确,这是怎么回事?

|
1.
#ifndef A_H
#define A_H

//a.h content

#endif

Rewrite your a.h file according to the upper pattern.

2. If you do not add "static" modifier to your funcion or parameter, they are always regard as global and linker can find out them from object files without declaration, but a warning will be thrown out.

|
用动态库不就完了
重复的那个函数扔到动态库里去

|
#ifndef A_H
#define A_H

//a.h content

#endif
常用方法常用方法


    
 
 

您可能感兴趣的文章:

  • 一个静态库包含多个函数,应用程序连接了库中的某个函数,应用程序目标代码中是否还包含了该静态库中的其他函数代码?
  • linux下如何做象windows下的OnTimer一样,多个定时器用一个回调函数!!!!!!!
  • mkdir()是创建文件夹的函数,有没有循环创建多个目录级的函数呢?
  • 如何让 gdb 知道多个文中件的函数 ?
  • 调用同一个函数建立的多个线程,如何使用函数的数据?
  • 为什么调用很多linux下的函数时需要包含多个头文件?
  • 求教 Linux多个线程 可不可以同时调用一个函数
  • python函数返回多个值的示例方法
  • php使用array_rand()函数从数组中随机选择一个或多个元素
  • pthread_create传给执行函数的变量能不能有多个?
  • Linux 下如何实现wait多个semaphore的函数,功能类似windows WaitForMultipleObject
  • 不使用semget等信号量相关的函数如何实现多个进程对同一个文件的访问
  • PHP字符串替换函数 可同时替换多个关键词
  • sql server中自定义的多个不定分隔符split函数
  • 在main()中调用同一个函数建立多个线程,此函数中定义的数据在多线程中如何使用?
  • 多个函数,想放到不同的.c文件中,如何组成一个完整的程序
  • select/sleep函数难道不能够被一个进程中的多个线程调用?
  • 在Linux中如何实现多个函数同时运行?
  • ON_COMMAND_RANGE多个按钮响应一个函数的解决方法
  • 请问JAVA如何定义常量实行多个JAVA程序共用?
  • 如何在awk 中定义多个FS?比如"a,b;c d" 要输出成为 "a b c d"
  • java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Uploadify 'uploadify.php'存在多个输入验证漏洞
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • PHP 'ext/soap/php_xml.c'不完整修复存在多个任意文件泄露漏洞
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • linux下grep命令实现查找多个关键字(与关系和或关系)
  • 一个物理服器一个公网IP,多个虚拟机,多个域名
  • 多jdk环境下安装多个tomcat冲突解决配置方法
  • 一个进程中的多个线程不会被调度到一台机器中的多个cup并行执行吗?
  • Apache + tomact 配多个域名 对 多个目录。
  • vim管理多个文件
  • php开源软件 iis7站长之家
  • 300分!查错,解决多个生产者和多个消费者问题 高手进!分不够想法子再加!
  • 如何使一个按钮响应多个事件?过来侃侃@!!!!
  • linux系统支持多个网卡同时工作吗?
  • linux字符界面怎么同时运行多个程序?
  • apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
  • 请问如何实现多个并行的定时器?
  • 请教POSIX问题:一个进程中,可以有多个互斥锁麽?
  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 用tar命令如何解压多个文件
  • rsync客户端如何从远程计算机上传输多个文件到本地计算机?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3