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

多个函数,想放到不同的.c文件中,如何组成一个完整的程序

    来源: 互联网  发布时间:2015-12-26

    本文导语:  想在linux下做一个简单的 计算机器,  提供 +-*?/ 幂等运算,由add,sub,multi,division,power等函数实现 如果都写在一个文件里,  calc.c --------- /* BigInt 是自定义类型 */ BigInt add(BigInt param_1, BigIntparam_2) { ...} BigInt sub(BigInt ...

想在linux下做一个简单的 计算机器, 
提供 +-*?/ 幂等运算,由add,sub,multi,division,power等函数实现
如果都写在一个文件里, 
calc.c
---------
/* BigInt 是自定义类型 */
BigInt add(BigInt param_1, BigIntparam_2)
{ ...}

BigInt sub(BigInt param_1, BigIntparam_2)
{ ...}

BigInt multi(BigInt param_1, BigIntparam_2)
{ ...}

BigInt division(BigInt param_1, BigIntparam_2)
{ ...}

BigInt poewer(BigInt param_1, BigIntparam_2)
{ ...}

int main( int argc, char* argv[] )
{
  ...
  return 0;
}
这样, calc.c 文件会比较长,而且改任意一个函数,都要重新编译一次

能否把 add,sub,multi,division,power函数的实现 写在不同的.c文件里(注意不是.h),比如分别写到 add.c, sub.c, multi.c, division.c, power.c文件中,
而main()函数放在calc.c文件中

如何可以的话,具体如何实现?
用makefile 可以 ?

本人初学,所以想先了解下什么方法可行,然后再去细看

|
你可以该写makefile,让多个cpp都依赖于同一个h就可以了。函数的实现在cpp中的话,改变其中一个,其它的不用重新编译。
比如:
A1.o : A1.cpp ${lib dir} 
$(CPP) $(CXXFLAGS) -c A1.cpp  -o $@
A2.o : A2.cpp ${lib dir} 
$(CPP) $(CXXFLAGS) -c A2.cpp  -o $@
A_objs = ${lib dir}/A1.o 
${lib dir}/A2.o
然后你就可以随便用A_objs了

|
可以。

假如你所有的.c放在同一文件夹下,则进入该文件夹,依次执行
gcc -c *.c
gcc *.o -o your_program_name
即可。

如果还有很多头文件,库文件,等,且分别房子不同目录,就要用到makefile了。语法你要先去学学,一下子说不清。要设置各个文件夹,然后用wildcard搜索全部的.c文件,再设置编译目标和编译规则等等。

    
 
 

您可能感兴趣的文章:

  • 一个静态库包含多个函数,应用程序连接了库中的某个函数,应用程序目标代码中是否还包含了该静态库中的其他函数代码?
  • linux下如何做象windows下的OnTimer一样,多个定时器用一个回调函数!!!!!!!
  • mkdir()是创建文件夹的函数,有没有循环创建多个目录级的函数呢?
  • 如何让 gdb 知道多个文中件的函数 ?
  • 调用同一个函数建立的多个线程,如何使用函数的数据?
  • 为什么调用很多linux下的函数时需要包含多个头文件?
  • 求教 Linux多个线程 可不可以同时调用一个函数
  • python函数返回多个值的示例方法
  • php使用array_rand()函数从数组中随机选择一个或多个元素
  • pthread_create传给执行函数的变量能不能有多个?
  • Linux 下如何实现wait多个semaphore的函数,功能类似windows WaitForMultipleObject
  • 多个文件使用同一个函数时的重复定义错误
  • 不使用semget等信号量相关的函数如何实现多个进程对同一个文件的访问
  • PHP字符串替换函数 可同时替换多个关键词
  • sql server中自定义的多个不定分隔符split函数
  • 在main()中调用同一个函数建立多个线程,此函数中定义的数据在多线程中如何使用?
  • select/sleep函数难道不能够被一个进程中的多个线程调用?
  • HTML教程 iis7站长之家
  • ON_COMMAND_RANGE多个按钮响应一个函数的解决方法
  •  
    本站(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管理多个文件
  • 一个LINUX的驱动程序中,能不能注册多个中断?
  • 300分!查错,解决多个生产者和多个消费者问题 高手进!分不够想法子再加!
  • 如何使一个按钮响应多个事件?过来侃侃@!!!!
  • linux系统支持多个网卡同时工作吗?
  • linux字符界面怎么同时运行多个程序?
  • apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
  • 请问如何实现多个并行的定时器?
  • 请教POSIX问题:一个进程中,可以有多个互斥锁麽?
  • 请问如何在一个文件系统修改源码管理并使用多个卷(存储设备)
  • 用tar命令如何解压多个文件
  • rsync客户端如何从远程计算机上传输多个文件到本地计算机?


  • 站内导航:


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

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

    浙ICP备11055608号-3