LinuxC语言编程,新手请教
我自己写了个c程序#include<curses.h>intmain(){initscr();move(100,100);addstr("helloworld!");re...
我自己写了个c程序
#include <curses.h>
int main()
{
initscr();
move(100,100);
addstr("helloworld!");
reflesh();
endwin();
return 0;
}
我想自己写makefile应该怎么写,谢谢!!
还有就是如果我自己写了一个头文件,把它单独放一文件夹,那在makefile里面应该怎么把它包含进来???十分感谢!!!
我看的资料里面说curses.h系统不会自动连接,需要自己连接,cc -o scr scr.c -lcurses 我不知道这个在makefile里面是怎么用啊,请高手帮忙!!!谢谢!! 展开
#include <curses.h>
int main()
{
initscr();
move(100,100);
addstr("helloworld!");
reflesh();
endwin();
return 0;
}
我想自己写makefile应该怎么写,谢谢!!
还有就是如果我自己写了一个头文件,把它单独放一文件夹,那在makefile里面应该怎么把它包含进来???十分感谢!!!
我看的资料里面说curses.h系统不会自动连接,需要自己连接,cc -o scr scr.c -lcurses 我不知道这个在makefile里面是怎么用啊,请高手帮忙!!!谢谢!! 展开
展开全部
# gcc -o test test.c
假设你的文件的名字是test.c
test: test.o // 执行文件test依赖于文件test.o
gcc -o test -g test.o //-o 输出执行文件名为test,-g 支持源码debug
test.o: test.c // test.o依赖于test.c
gcc -c -g test.c
clean: // 定义了一个命令clean,默认make从文件头开始
rm test test.o // 移除文件test,test.o
安装 Ncurses
1.准备编译 Ncurses :
./configure --prefix=/usr --with-shared --without-debug
2.编译软件包:
make
这个软件包没有附带测试程序。
3.安装软件包:
make install
4.赋予 ncurses 库文件可执行权限:
chmod -v 755 /usr/lib/*.5.4
5.修正一个不应该有可执行权限的库文件:
chmod -v 644 /usr/lib/libncurses++.a
6.把库文件移到更合理的 /lib 目录里:
mv -v /usr/lib/libncurses.so.5* /lib
7.由于库文件移动了,所以有的符号链接就指向了不存在的文件。需要重新创建这些符号链接:
ln -sfv ../../lib/libncurses.so.5 /usr/lib/libncurses.so
ln -sfv libncurses.so /usr/lib/libcurses.so
假设你的文件的名字是test.c
test: test.o // 执行文件test依赖于文件test.o
gcc -o test -g test.o //-o 输出执行文件名为test,-g 支持源码debug
test.o: test.c // test.o依赖于test.c
gcc -c -g test.c
clean: // 定义了一个命令clean,默认make从文件头开始
rm test test.o // 移除文件test,test.o
安装 Ncurses
1.准备编译 Ncurses :
./configure --prefix=/usr --with-shared --without-debug
2.编译软件包:
make
这个软件包没有附带测试程序。
3.安装软件包:
make install
4.赋予 ncurses 库文件可执行权限:
chmod -v 755 /usr/lib/*.5.4
5.修正一个不应该有可执行权限的库文件:
chmod -v 644 /usr/lib/libncurses++.a
6.把库文件移到更合理的 /lib 目录里:
mv -v /usr/lib/libncurses.so.5* /lib
7.由于库文件移动了,所以有的符号链接就指向了不存在的文件。需要重新创建这些符号链接:
ln -sfv ../../lib/libncurses.so.5 /usr/lib/libncurses.so
ln -sfv libncurses.so /usr/lib/libcurses.so
2011-09-24
展开全部
1如果你的电脑配置不是很低的话就装个虚拟机吧,这样方便一些,安装个ubuntu好用;
2先熟悉linux系统命令,推荐书和上面一样,鸟哥私房菜,然后看一些linux程序设计这本书;关键是自己去动手写一些小程序,这样提高快点;
3你应该是学电子出身的吧,电子出身的一般C语言都不太好,我建议你重视一下C语言,keilc是单片机的编译器,keilc只是编译器的一种,它是window平台下的软件,一般C语言开发都是用linux下的GCC编译器。和keilc上编写的C语言差不多,就是keilc稍微简单一些吧。就说这些吧,加油!
2先熟悉linux系统命令,推荐书和上面一样,鸟哥私房菜,然后看一些linux程序设计这本书;关键是自己去动手写一些小程序,这样提高快点;
3你应该是学电子出身的吧,电子出身的一般C语言都不太好,我建议你重视一下C语言,keilc是单片机的编译器,keilc只是编译器的一种,它是window平台下的软件,一般C语言开发都是用linux下的GCC编译器。和keilc上编写的C语言差不多,就是keilc稍微简单一些吧。就说这些吧,加油!
追问
谢谢!!虽然有点答非所问但是你说的都是对的,我现在还有一点不明白就是那个curses.h应该怎么弄,你要是有时间能帮我看一下吗??关键是我不知道像这样的头文件怎么连接进去,能不能像自己定义的那样子呢或者你帮我弄下用gcc怎么写,然后如果可以的话再写个用makefile写的!!十分感谢!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(2)很显然这样做是为了方便,例如某个函数需要传入复制后的字符串,就可以用一行语句完成,而不必写两行了。
(1)
#include<stdio.h>
char *strcpy(char *strDest, const char *strSrc)
{
int i;
for (i=0;strSrc[i];++i)
strDest[i]=strSrc[i];
strDest[i]='\0';
return strDest;
}
int main(int argc,char *argv[])
{
char a[80];
puts(strcpy(a,"Hello,Linux!"));
return 0;
}
(1)
#include<stdio.h>
char *strcpy(char *strDest, const char *strSrc)
{
int i;
for (i=0;strSrc[i];++i)
strDest[i]=strSrc[i];
strDest[i]='\0';
return strDest;
}
int main(int argc,char *argv[])
{
char a[80];
puts(strcpy(a,"Hello,Linux!"));
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询