首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

xenix system v难题,该怎么解决

2012-02-09 
xenix system v难题因在xenixsystemV下有个串口通信的项目要做,不能更新cc编译器,因为此xenixsystemV系统

xenix system v难题
因在xenix   system   V下有个串口通信的项目要做,不能更新cc编译器,因为此xenix   system   V系统与一个测试软件集成在一起,更新cc编译器,有可能使测试软件不能使用,危险系数很大,测试软件代码内部有许多cc编译命令,所以必须在原有的环境下编写串口通信程序,系统是很老的unix系统,对系统头文件进行搜索,发现系统中不存在stdlib.h头文件和termios.h,但是这两个文件是编写串口通信程序必须的,所以现在感觉要实现有点难度,后来在/usr/include/sys找到一个termio.h文件,与termios.h进行比较,主要在于一个结构不同
termio.h中的结构
struct   termio   {
unsigned   shortc_iflag;/*   input   modes   */
unsigned   shortc_oflag;/*   output   modes   */
unsigned   shortc_cflag;/*   control   modes   */
unsigned   shortc_lflag;/*   line   discipline   modes   */
charc_line;/*   line   discipline   */
unsigned   char_cc[NCC];/*   control   chars   */

};
termios.h中的结构
struct   termios{
tcflag_t   c_iflag;   /*input   flags*/
tcflag_t   c_oflag;   /*output   flags*/
tcflag_t   c_cflag;   /*control   flags*/
tcflag_t   c_lflag;   /*local   flags*/
cc_t   c_cc[NCCS];   /*control   characters*/
};

charc_line;/*   line   discipline   */
line   discipline   是什么意思?

至于stdlib.h头文件,也不知道怎么弄了,拷了一个vc6.0中的stdlib.h文件进去,编译串行通信程序,系统提示如下错误:
/usr/include/stdlib.h:fatal   error21:bad   preprocessor   command   'error '
看来只有更新cc编译器,还是有另外好的方法,第一次做unix下项目,请高手指点



[解决办法]
实在要用,就用sco unix吧,从xenix移植到sco应该不难。
[解决办法]
要拷也要从UNIX或者Linux里面拷啊,怎么从VC6拷呢:-)
不过即使是从Linux拷也肯定不行,因为差别还是太大了。

一个解决方法是自己写一个stdlib.h,先为空,编译的时候却什么定义就从别的系统拷过来,一次拷缺少的那几行,只到没有错误为止。

至于termio,你可以在系统中找一下有没有文档,比如man termio,或者查看termio.h,看看有那些函数,man一下看看。

热点排行