当前位置: 代码迷 >> 驱动开发 >> 向左还是向右?该如何处理
  详细解决方案

向左还是向右?该如何处理

热度:284   发布时间:2016-04-28 11:22:18.0
向左还是向右???????????????
问题一、
我在用HHARM2410-R5学习linux开发,但不知道怎么调试能够运行在开发板上的驱动程序和应用程序。
在虚拟机中,知道用gdb可以调试程序,但编写的开发板的驱动只能在开发板运行,编程序开发板的应用程序也只能在开发板上运行,虽然可以mount到主机上运行开发板的应用程序,但怎么调试呢?用什么调试呢?开发板上用过的调试工具有哪些,怎么用?

问题二、


写了一小段程序:
int main(int argc,char*argv[])
{
  short i,j,w,h;
  struct stat st;
  int filelength;
 
   
  /*定义缓冲区,并初始化*/
  char buf1[700000];
  char *fprt;
  FILE *fp,*fp1;
  /*初始化液晶屏*/
  initgraph();
  clearscreen();
 // ShowBMP("bqb4.bmp",0,0);

  if((fp=fopen("bqb4.bmp","r"))==NULL)/*以只读方式打开文件*/
  {
  printf("Can't find the file"); /*如文件缺失则报错,返回*/
  return 1;
  }
   
  stat("bqb4.bmp",&st); /*取得文件的状态参数,存放于结构体内*/
  filelength=st.st_size; /*从结构体中取出文件长度*/
  fread(buf1,1,filelength,fp); /*将文件内容读入缓冲区,刚才取得的文件长度应用于此*/
  fclose(fp); /*关闭文件,释放资源*/

 fprt=MyTranslation24bitcolor(buf1);
 ShowBuf(fprt,0,0);

 fclose(fp1);
 free(fprt);
}
1、编译时的问题:warning: assignment makes pointer from integer without a cast
[[email protected] wrt_gui]# make
/opt/host/armv4l/bin/armv4l-unknown-linux-gcc -c -o gui.o gui.c
gui.c: In function `main':
gui.c:64: warning: assignment makes pointer from integer without a cast
/opt/host/armv4l/bin/armv4l-unknown-linux-gcc -o gui graphic.o gui.o -lm
[[email protected] wrt_gui]#
出现问题的地方在 fprt=MyTranslation24bitcolor(buf1);处,这里貌似没有错误啊,MyTranslation24bitcolor(buf1)返回的是字符型指针,不知道什么原因。


------解决方案--------------------
你没有包含相应的头文件,也就是说编译器在编译gui.c时没有得到函数MyTranslation24bitcolor的类型声明,编译器就会默认为返回值是int类型。所以报错。

lz要添加相应的头文件即可。

c语言是基础,不能草草学了就上马项目,一定要学好c语言。
  相关解决方案