C语言和sh脚本的杂交代码
在网上看到了一个把 C语言和bash杂并起来的例子,这个示子如下所示。在下面这个例子中,我们把脚本用#if 0这个预编译给起来,这样就不会让其编译到C语言中了。
if 0
echo "Hello from bash!"
exit
endif
include <stdlib.h>
include <stdio.h>
int main(int argc, char* argv[]) {
puts("Hello from C!");
return EXIT_SUCCESS;
}
下面,让我看看如果来使用这样的程序:
$ sh test.sh.c
Hello from bash!
$ gcc test.sh.c -o test
$ ./test
Hello from C!
你甚至还可以做一个自我编译,并自我运行的源代码。如下所示:
if 0
file=mktemp
gcc -o $file $0
$file
rm $file
exit
endif
include <stdlib.h>
include <stdio.h>
int main(int argc, char *argv[]) {
puts("Hello from C!");
return EXIT_SUCCESS;
}
运行:
$ sh test.sh.c
Hello from C!
$
当然,我并不建议你在真正的开发环境中这样使用,我只不过是在介绍一个比较有趣的用法,仅此而已!
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
我们是做安全产品的厂商,最近一个客户端程序,有 Androd 和 Windows 两个平台。架构师原先是做 Java 的,负责 Android 端的开发,我负责 Windows…
本人很少拍照, 求推荐摄像头不那么夸张的 没有吧,高端机一定是水桶机 看设计吧 假如找不到呢,你愿意做什么妥协三星那种你能接受吗 三星的摄像头设计挺简约, 只是太久没用…
背景 内部会有很多简单重复的后台系统需求 有的小组前端人员不足 后端同学开发后台费时费力 有学习成本 需要简化流程 初期只考虑常用结构或组件 框架+菜单+路由配置 基…
合速度