当前位置: 技术问答>linux和unix
如何让一个c文件 变成可以执行的文件
来源: 互联网 发布时间:2016-08-26
本文导语: linux内核环境 make 不起作用 说nothing to done啥啥啥 的 make file不会写。 怎么搞使得可以在shell中使用./可以执行一个文件。 | 比如你的c文件是test.c #gcc -o exefile test.c #./exefile | ...
linux内核环境
make 不起作用 说nothing to done啥啥啥 的
make file不会写。
怎么搞使得可以在shell中使用./可以执行一个文件。
make 不起作用 说nothing to done啥啥啥 的
make file不会写。
怎么搞使得可以在shell中使用./可以执行一个文件。
|
比如你的c文件是test.c
#gcc -o exefile test.c
#./exefile
#gcc -o exefile test.c
#./exefile
|
在windows下 你也是编译c文件 然后生成可执行文件吧
linux下也一样 用gcc编译即可
linux下也一样 用gcc编译即可
|
顶ls
|
gcc -o test test.c //把test.c生产test执行文件。
shell中./test可以运行程序了
makefile你还是先看相关的规则,再自己试试
shell中./test可以运行程序了
makefile你还是先看相关的规则,再自己试试
|
gcc test.c -o hello(任意名)
./hello
./hello
|
先make clean,然后再make.
怎么都喜欢发到内核版,我一天都要移好多贴子。
怎么都喜欢发到内核版,我一天都要移好多贴子。
|
使用gcc编译器,它还有好多参数,建议好好看看关于gcc的手册
|
用GCC编译成可执行文件
|
要学习下GCC工具的作用。。
|
楼主的意思好像是要做成 .ko的模块吗?那个printk也是内核的函数呀?楼主的写法不对吧,要做成模块的话,你看一下ldd3吧,把ldd3的源码下下来看一下里面的 hello.c 就清楚了。
|
我的空间有自己动手写makefile额
|
gcc hello -o hello.c
|
楼上参数写错了
|
没有写makefile make当然不起作用
|
倒,楼主用的是内核模式,要编成*.ko,然后在shell里install *.ko
如果不是内核模式就直接按上面编译成.o就行,那就不能用printk.
如果不是内核模式就直接按上面编译成.o就行,那就不能用printk.
|
加载*.ko用insmod
|
准备源文件hello.c,内容:
#include
void main(void)
{
printf("hello,linux!n");
}
在源文件同级编译
#gcc -o hello hello.c
运行:
./hello
#include
void main(void)
{
printf("hello,linux!n");
}
在源文件同级编译
#gcc -o hello hello.c
运行:
./hello
|
楼主要做成模块还是程序啊
|
正解
|
hello.c
#include
#include
#include
MODULE_LICENSE("Dual BSD/GPL");
static char *whom = "world";
module_param(whom, charp, 0);
static int howmany = 1;
module_param(howmany, int, 0);
static int hello_init(void)
{
int i;
for( i=0; i