当前位置:  技术问答>linux和unix

xenix system v难题

    来源: 互联网  发布时间:2016-01-12

    本文导语:  因在xenix system V下有个串口通信的项目要做,不能更新cc编译器,因为此xenix system V系统与一个测试软件集成在一起,更新cc编译器,有可能使测试软件不能使用,危险系数很大,测试软件代码内部有许多cc编译命令...

因在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 short c_iflag; /* input modes */
unsigned short c_oflag; /* output modes */
unsigned short c_cflag; /* control modes */
unsigned short c_lflag; /* line discipline modes */
char c_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*/
};

char c_line; /* line discipline */
line discipline 是什么意思?

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


|
要拷也要从UNIX或者Linux里面拷啊,怎么从VC6拷呢:-)
不过即使是从Linux拷也肯定不行,因为差别还是太大了。

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

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

|
实在要用,就用sco unix吧,从xenix移植到sco应该不难。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • XENIX下载
  • Sco Unix 和red hat linux的最新版本是什么,各有几张盘,SCO UNIX和微软的Xenix哪个更好?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3