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

C程序移植到Linux下遇到的一个问题

    来源: 互联网  发布时间:2016-09-23

    本文导语:  BOOL APIENTRY DllMain( HANDLE hModule,   DWORD  ul_reason_for_call,   LPVOID lpReserved   ) {     switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: { int m_OpenStatus = 0; m_OpenStatus = Si_OpenDevice(15); if(m_OpenStatus != S...

BOOL APIENTRY DllMain( HANDLE hModule,
  DWORD  ul_reason_for_call,
  LPVOID lpReserved
  )
{
    switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
int m_OpenStatus = 0;
m_OpenStatus = Si_OpenDevice(15);
if(m_OpenStatus != SR_SUCCESSFULLY){
MessageBox(NULL,"请检查加密卡或驱动程序是否安装好?","警告",MB_OK+MB_ICONWARNING);
//return FALSE;
}
}
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
Si_CloseDevice();
break;
    }
    return TRUE;
}编译时此处产生错误 expected '='',''asm' or '_attribute_' before APIENTRY
小弟 把BOOL改成int  前面定义了#define WINAPI __stdcall
#define APIENTRY WINAPI
#define FAR far
typedef const void far *LPCVOID
出现错误expected '='',''asm' or '_attribute_' before token
expected '='',''asm' or '_attribute_' before DllMain
查资料得知Linux下没有与DllMain完全对应的函数,迷茫中望高手指点一下


|
楼主,linux下的动态库根本就不需要这个函数的。
windows下的dll等于linux下的so。
linux下的so库是不需要这个鬼dllmain函数的。

|
移植,我觉得用#if 0 & #endif来慢慢调,首先把程序内的所有代码都屏蔽,一个空函数,编译通过了,再慢慢往下移,直到全部代码编译通过,这样没出现一个问题的时候,定位非常方便。我觉得还是挺高效的,你的程序估计也是一些变量的定义问题,Linux不识别的类型,一个个解决吧。

    
 
 

您可能感兴趣的文章:

  • 程序可移植性问题
  • WINDOWS GDI程序如何移植到LINUX下?望高手们赐教!!!
  • linux上的c程序移植到solaris 10 需要作哪些工作
  • 求程序移植乱码解决方案
  • 征将linux 的程序移植到 windows的方案
  • 关于程序移植,请知道的帮忙,分会加的
  • 移植c++builder的程序出错
  • 移植PCI驱动程序,提示找不到iobuf.h
  • 新手求教——windows程序移植到unix下
  • gtk+程序移植到Windows上的问题
  • Unix程序移植到linux问题[mkdirp]
  • vc程序怎样移植到Linux下????(在线等待特急)
  • 各位好,如何将VC++写的程序代码移植到Linux上?用GCC编译的话,程序需要做那些改动?
  • UNIX系统下的C程序移植到Linux系统的问题
  • 请问这个程序能移植到linux上么?怎么解决?谢谢
  • Linux程序移植到windows
  • 如何快速将一win32多线程(c++)程序移植到sco/aix下?
  • 请问wxWindows 和Qt随用来移植MFC开发的程序比较好?
  • linux 程序移植到windwos下
  • 请大家帮忙提供资料:如何将windows系统服务程序移植为linux系统服务?
  • gdb调试X窗口应用程序遇到的难题
  • 大家遇到过Java程序睡不醒的情况吗?
  • Linux下的小程序,编译时遇到的错误!
  • 小弟的程序遇到麻烦了,想和哪位谈谈java的线程(57226475)
  • 用java写的ftp下载程序中遇到的问题
  • 高分求助:谁调过javamail的程序,我遇到了一些麻烦,请求帮助!!!
  • 第一次写linux下的程序,遇到了困难!
  • linux 中用shell编写程序时遇到的一个问题,请高手指点!!!!
  • linux 程序第三版中遇到的问题
  • <<unix环境变量高级编程>>程序例题4-7编译遇到问题
  • 编写FTP程序,遇到问题请大家帮忙!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












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


  • 站内导航:


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

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

    浙ICP备11055608号-3