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

同一段程序在solaris9 x86和solaris9 sparc运行问题

    来源: 互联网  发布时间:2016-03-27

    本文导语:  下边是一个加载bmp图片的函数 BYTE *LoadBMP(char * filenameBitmap,//文件名 UINT *width,  UINT *height) { BITMAP inBM; BYTE m1,m2;     long filesize;     short res1,res2;     long pixoff;     long bmisize;            ...

下边是一个加载bmp图片的函数

BYTE *LoadBMP(char * filenameBitmap,//文件名
UINT *width, 
UINT *height)
{
BITMAP inBM;

BYTE m1,m2;
    long filesize;
    short res1,res2;
    long pixoff;
    long bmisize;                    
    long compression;
    unsigned long sizeimage;
    long xscale, yscale;
    long colors;
    long impcol;
    

BYTE *outBuf=NULL;

// for safety
*width=0; *height=0;

// init
//m_errorText="OK";
DWORD m_bytesRead=0;

FILE *fp;

fp=fopen(filenameBitmap,"rb");
if (fp==NULL) {
//CString msg;                    
//msg="Can't open file for reading :n"+fileName;
//m_errorText=msg;
printf("Can't open file for reading :%sn",filenameBitmap);
return NULL;
} else {
    long rc;
rc=fread((BYTE  *)&(m1),1,1,fp); m_bytesRead+=1;
if (rc==-1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((BYTE  *)&(m2),1,1,fp); m_bytesRead+=1;
if (rc==-1)printf("Read Error!n");;
if ((m1!='B') || (m2!='M')) {
printf("Not a valid BMP File!n");
fclose(fp);
return NULL;
        }
        
////////////////////////////////////////////////////////////////////////////
//
// read a ton of header stuff

rc=fread((long  *)&(filesize),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((int  *)&(res1),2,1,fp); m_bytesRead+=2;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((int  *)&(res2),2,1,fp); m_bytesRead+=2;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(pixoff),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(bmisize),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(inBM.bmWidth),4,1,fp);  m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(inBM.bmHeight),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((int  *)&(inBM.bmPlanes),2,1,fp); m_bytesRead+=2;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((int  *)&(inBM.bmBitsPixel),2,1,fp); m_bytesRead+=2;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(compression),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(sizeimage),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(xscale),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(yscale),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(colors),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

rc=fread((long  *)&(impcol),4,1,fp); m_bytesRead+=4;
if (rc!=1) {printf("Read Error!n"); fclose(fp); return NULL;}

////////////////////////////////////////////////////////////////////////////
// i don't do RLE files

if (compression!=BI_RGB) {
     printf("This is a compressed file.n");
     fclose(fp);
     return NULL;
    }

if (colors == 0) {
colors = 1 

    
 
 

您可能感兴趣的文章:

  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • SecureCRT上运行一个JAVA程序,该程序类似一个在WINDOWS下一直运行的CMD窗口的东西,SecureCRT关掉后,JAVA还会继续运行吗?
  • windows下cmd命令提示符下让程序后台运行命令
  • telnet到主机去运行一个我编的程序,退出telnet时那个程序也不运行了,这是怎么回事?按程序逻辑它应该一直运行下去的。
  • python计算程序开始到程序结束的运行时间和程序运行的CPU时间
  • jsp程序运行一次后,再修改原jsp程序,为什么运行还是的还是原来的程序??
  • 我的linux程序 如何 在pc机器上运行。现在我用arm-linux-g++ 编译后的程序在我的嵌入设备上运行。
  • 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行
  • 我用C在UNIX下写程序,生产文本,如何能让我的程序并行运行,好加快运行速度,举例说明。
  • 怎样在客户端(win2k svr)vc程序里使hp-ux服务器中的c程序运行,另外如何获得其运行结果?
  • 在LIUNIX中,在运行程序中,运行什么命令可以出现类似DOS的界面...谢谢.
  • 怎样让linux启动后不运行桌面而是直接运行某个应用程序呢?
  • 程序在windows下用visual运行正常,如何才能在linux下运行??
  • linux编写一个脚本判断程序是否在运行,如果没运行就重启这个软件。
  • 请问linux下查看某个程序的运行界面的程序是什么?
  • jbuilder下写的javabean与jsp程序正常运行,如何转到weblogic或其他的服务器上运行???
  • 运行程序后程序报错说操作不允许
  • ubuntu下用gcc编译的程序要怎样运行,为何运行不了?
  • 关闭putty(SSH程序)后如何让程序还在redhat上运行?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c/c++服务器程序内存泄露问题分析及解决
  • unix程序中调用其他程序的问题
  • 走虚拟网卡内核程序和走物理网卡应用程序结合问题
  • wine中安装windows程序,程序崩溃的问题
  • 一个信息添加,修改,删除,查询的问题,程序出了一个问题实在不知道为什么,各位帮看一下程序如下
  • 请问linux下一个很简单的问题:我们的控制台下直接输入某个程序名就可以执行该程序,原理是什么?
  • Linux下面的开发好的Java程序,如何部署到其他机器?开发好的Java图形程序,终端上能否用?等问题
  • 程序发布的问题(动态连接库的问题)
  • linux初学者一简单问题!在线送分!linux设备驱动程序一书的第一个程序.
  • 紧急问题:我启动一个java程序之后用ps一看,为和显示我启动了多个程序?然后我kill-9第一个pid之后,又全部没了
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以. iis7站长之家
  • jbuilder7问题 编译没有问题,内部运行编写的的java程序就退出了???
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • 请教多线程程序的内存占用问题
  • 关于软件或者程序的源代码问题??
  • 几个Linux应用程序开发的问题请教LINUX程序员!
  • linux可执行程序运行速度问题
  • 多线程网络通讯程序的稳定性问题
  • 程序输出的问题
  • linux基础问题,configure,make生成应用程序问题
  • shell脚本变量与应用程序同步的问题
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 在docker容器中通过apt-get安装新的程序
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.


  • 站内导航:


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

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

    浙ICP备11055608号-3