当前位置: 代码迷 >> VxWorks >> 在VXWORKS下的C函数为什么不能用?该怎么处理
  详细解决方案

在VXWORKS下的C函数为什么不能用?该怎么处理

热度:5034   发布时间:2013-02-26 00:00:00.0
在VXWORKS下的C函数为什么不能用?
比如:
include <stdlib.h> 
#include <stdio.h> 
#include <conio.h> 

int main(void) 

  char *string; 
  double value; 
  int dec, sign; 
  int ndig = 10; 

  clrscr(); 
  value = 9.876; 
  string = ecvt(value, ndig, &dec, &sign); 
  printf("string = %s dec = %d \ 
  sign = %d\n", string, dec, sign); 

  value = -123.45; 
  ndig= 15; 
  string = ecvt(value,ndig,&dec,&sign); 
  printf("string = %s dec = %d sign = %d\n", 
  string, dec, sign); 
  

  value = 0.6789e5; /* scientific 
  notation */ 
  ndig = 5; 
  string = ecvt(value,ndig,&dec,&sign); 
  printf("string = %s dec = %d\ 
  sign = %d\n", string, dec, sign); 

  return 0; 

  

平台是移动奔腾,编译的时候 string = ecvt(value,ndig,&dec,&sign); 这一行说不能把INT转换成CHAR* ,可是ECVT返回的就是字符指针啊,不懂。
实在不行,改成 ecvt(value,ndig,&dec,&sign); 又告诉我隐式定义函数一样出错。
还有我用GETCH()函数告诉我没有定义流,
希望高手能解释一下,谢谢!!!




------解决方案--------------------------------------------------------
ecvt是标准c的函数吗,好像是dos下的吧,为什么不用sprintf呢
------解决方案--------------------------------------------------------
你的源码是从书上找的吧! clrscr(); 这是DOS下比较典型的函数,清屏!
------解决方案--------------------------------------------------------
探讨
没错,上面的源码是书上的,我自己的用法和书上一样的,结果显示出错了。
如果DOS的调用都不能用了,各位大侠,那我们用C标准库够用吗?VXWORKS有没有自己的扩展库?还有拿个图形库GRAPHICS.H是不是也是DOS的?如果它也是非ANSI的,那么我们怎么使用图形模式绘图?

------解决方案--------------------------------------------------------
楼主可以先看看《tornado/vxworks入门与提高》里面有很多例子可以在模拟器上跑
用的就是标准c加vx的库,代码都是完整的
  相关解决方案