Fx-9860 SDK 编程遇到的问题
不知道为什么Print((unsigned char*)"*Holle World");就可以char s="Holle World";Print(S);这样子就不可以,,望高手指点,,,#include "fxlib.h"
#include "stdio.h"
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;
const char *s, *control="%d";
int ret,buffer;
ret=sscanf(s, control, buffer);
locate(1,1);
ret=printf(control, buffer);
while(1){
GetKey(&key);
}
return 1;
}
#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}
#pragma section
如果给个例子,感激不尽!! char s="Holle World";Print(S);这样子就不可以,,望高手指点,,,
croptree 发表于 2011-7-26 02:37 http://www.cncalc.org/images/common/back.gif
首先你这样的写法就是错的,s是字符,怎么么能把指针赋值给他?
另外9860里面没有流,你用printf明显是不正确的,请仔细翻翻说明文档里面的《C Standard Library》,你可以看到printf是不被支持的。
另外这里有一个printf的例子
http://www.cncalc.org/thread-5854-1-1.html 本帖最后由 croptree 于 2011-7-26 12:53 编辑
就是不知道怎么用,,能不能详细的解释一下呢?
#include "fxlib.h"
#include "stdio.h"
#include "stdarg.h"
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;
locate(3,1);
fxprintf("%d",12);
while(1){
GetKey(&key);
}
return 1;
}
void fxprintf(char *cpFormat, ...)
{
char cpBuffer;
va_list pArgList;
va_start(pArgList, cpFormat);
vsprintf(cpBuffer, cpFormat, pArgList);
va_end(pArgList);
Print(cpBuffer);
}
//*********************************************
#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}
#pragma section
编译时结果提示ERROR: Process failed with return code: 1
很郁闷,,呵呵,, 3# croptree .
我说ls,编译要看错误好吧,
错误; "C:\Program Files\CASIO\fx-9860G SDK\OS\SH\bin\shc.exe" -subcommand=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\hmkA5.tmp
C:\132\123.c(17) : C2144 (E) Type mismatch
C:\132\123.c(24) : C1016 (W) Argument mismatch
你在AddIn_main前面加个声明不就行了
void fxprintf(char *cpFormat, ...); 本帖最后由 diameter 于 2011-7-26 13:22 编辑
我说LZ有没有把C学好啊,
出这种问题只能说明对C的了解不深刻。
而且SH的处理器架构与Intel不相同,处理跨平台的时候更麻烦(比如文件共享)
建议先在成熟的IDE下把C学好了再来用9860SDK
再说SDK里光靠C/C++是没用的,只有用ASM才能发挥9860的全部优势(例如那个Passwrd) 要养成编写函数代码前先声明(或者写头文件)的习惯。 太谢谢了,, 2# diameter
终于明白了,,太谢谢您的指点了,,
页:
[1]