主题 : linux应用程序开发 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 5271
精华: 0
发帖: 30
金钱: 300 两
威望: 225 点
综合积分: 60 分
注册时间: 2009-04-16
最后登录: 2010-09-09
楼主  发表于: 2009-11-22 11:11

 linux应用程序开发

我现在才刚开始进行应用程序开发,遇到几个问题。一个是系统函数,嵌入式linux版本这么多,每个版本对应的函数说明在哪有介绍?二个是头文件,我看很多程序都要包含一堆头文件,但要是自己编写的时候并不知道应该包含哪些,不知道哪里有介绍?三个是图形界面的编程,这个好像每种图形界面都不一样,就拿QT来说,每个版本应该也略有不同,而且直接编译出来的linux程序好像不能在QT下跑,必须在命令行下跑,还有编译QT程序的环境搭建,不知道这个哪里有介绍的。
望哪位前辈不吝赐教!谢谢
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-11-22 14:20
一个是系统函数,嵌入式linux版本这么多,每个版本对应的函数说明在哪有介绍?

如果你说的是"系统调用",各个Linux版本的接口绝大部分是相同的,在man page的section 2里可以查到相关内容。比如open(),可以用命令"man 2 open"查阅其使用方法。如果你的Linux开发PC上没有安装man page, 可以在http://linux.die.net/man/2/查到所有的系统调用信息。

二个是头文件,我看很多程序都要包含一堆头文件,但要是自己编写的时候并不知道应该包含哪些,不知道哪里有介绍?

这是基本C语言概念,程序需要包含哪些头文件取决于你的程序用到了哪些头文件中的定义,包括预编译宏,类型定义,函数声明等等。这些很多也可以通过man命令查到。比如程序中要使用open()系统调用,通过man 2 open你可以知道需要包含下列头文件:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
三个是图形界面的编程,这个好像每种图形界面都不一样

图形界面的编程可以理解为是各种图形界面工具包(Tool Kit)的编程,比如GTK(GIMP ToolKit)和Qt for Embedded Linux. 要理解图形界面编程,先理解你用的工具包的概念。
而且直接编译出来的linux程序好像不能在QT下跑,必须在命令行下跑

应该不存在这种问题,这两种方式启动程序本质上是一样的。
还有编译QT程序的环境搭建,不知道这个哪里有介绍的。

http://doc.trolltech.com/上提供的文档是最详尽和准确的。网上也有很多QT的论坛,比如www.qtcn.org.本论坛的Qtopia版块也有不少关于这方面的帖子。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 5271
精华: 0
发帖: 30
金钱: 300 两
威望: 225 点
综合积分: 60 分
注册时间: 2009-04-16
最后登录: 2010-09-09
2楼  发表于: 2009-11-23 10:23
谢谢了,差不多明白一点点了,我买的板子不知道咋回事总连不上,而且用它自带的那个系统不能往里面拷东西,不知道怎么继续了都
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2009-11-23 10:45
引用第2楼liuyan546于2009-11-23 10:23发表的  :
谢谢了,差不多明白一点点了,我买的板子不知道咋回事总连不上,而且用它自带的那个系统不能往里面拷东西,不知道怎么继续了都

如果你想别人帮忙解决你的问题,首先向别人描述你的问题
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."