无论学习哪门语言,几乎都无一例外的从Hello, world入手, 今天我也不例外。
写这篇文章的目的在于,我们在用XCode或者VS写代码时,几乎都是通过图形化工具来进行编译,链接的, 运行。 长期以来,却不知道到底这些图形化工具帮助我们做了哪些事, 以及出了一些系统环境设置问题后,完全无从下手。
Mac系统是基于Unix内核的图形化操作系统, 所以使用terminal进行编程实则为Unix下的编程,这里只演示一种最为简单方式。
1. 首先打开terminal应用,通过cd命令到你想创建这个文件的地方。
2. 然后打开nano编辑器,如nano helloworld.c, 这样就打开了nano编辑器,并自动给将要编写的文件命名为helloworld.c
3. 在nano编辑器中输入
#include <stdio.h>
int main ()
{
printf(”jackysay hello to you\n”);
return 0;
}
4. 然后在nano中按快捷键control+x, 退出nano编辑器, nano会提示进行保存, 输Y即可
5. 在terminal中输入gcc helloworld.c –o xxx, 这样就生成了一个可以运行的xxx程序
6. 输入./xxx, 来运行这个程序,可以看到” jacky say hello to you”输出在terminal的屏幕上
这里我有两个疑问:(望路过的高人给予解答)
1。至于#include <stdio.h>, 这行代码包含了这个文件, 但我在Mac下全盘搜索,却并没有搜索到stdio.h这个文件, 这是为何?
2。 就算上面搜到这个stdio.h文件, 那么在接下来的代码中调用printf这个函数, 这个函数的实现文件是在哪里呢? 估计应该是一个库文件, 那这个库文件又是在哪里呢?又或是没有这个库文件, 只在像Java虚拟机概念中, 用户需要保证运行该程序的机器上一定会安装这个stdio.h所对应的库文件?从而省略了编译出来的程序中包含库文件,从而省略了编译出的程序大小?