linux中的#include和makefile问题

jingsuxuyilq 2012-08-16 10:57:08
本人刚接触linux下C编程,问一个菜鸟级的问题,下面是一个简单的程序:
/***************main.c**************/
#include <math.h>
int main()
{
int a=sqrt(4);
return 0;
}
/*************end main.c*************/
如果用makefile实现其编译,我们能不能在main.c中把#include <math.h>去掉,直接把它写到makefile中。

Q1:就是能不能在*.c文件中都不写它依赖的*.h文件,把这些依赖关系都写到makefile中?
Q2:makefile中的*.h和*.c文件中的*.h文件有关系吗,可以相互替换吗?
我一直没搞清楚,谢谢大家指教!
...全文
224 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Deathswordsman 2012-08-16
  • 打赏
  • 举报
回复
makefile是编译工具,不是帮助你偷工减料地编程,基本的语法规则你要遵守。
冻结 2012-08-16
  • 打赏
  • 举报
回复
我们能不能在main.c中把#include <math.h>去掉,直接把它写到makefile中。
不能

关于makefile,http://blog.csdn.net/haoel/article/details/2886
看看吧。
nightkids_008 2012-08-16
  • 打赏
  • 举报
回复
不Include头文件,你的函数定义上哪里去找呢?
jiandingzhe 2012-08-16
  • 打赏
  • 举报
回复
makefile只是一个指令脚本,你可以把调用编译器、链接器的命令行指令写在里面,它给你自动执行并维持依赖关系。
shijinpeng_2012 2012-08-16
  • 打赏
  • 举报
回复
ls 的说法不对吧 可以不写类型的啊
赵4老师 2012-08-16
  • 打赏
  • 举报
回复
变量初始化似乎不能用sqrt

int a;
a=(int)sqrt(4.0);//常量也有类型

69,379

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧