c++跨平台开发,c语言跨平台编译

  c++跨平台开发,c语言跨平台编译

  我们知道,任何应用在操作系统上的功能实现都依赖于操作系统API。基于这样的理解,我们大概可以得到这样的认识:任何跨平台的代码都只是不同平台的操作系统的API的一层封装。现在以gtk的动态加载dll的函数g_module_open为例,可以想象一下它是如何实现跨平台的。我们知道Windows平台动态加载dll的功能是LoadLibrary,而linux平台动态加载共享库(dlopen是用来调用动态链接库作为Linux平台下的共享库)是DLOpen。那么我们可以想象g_module_open可以这样实现:

  g module * g _ module _ open(char * PSZ filename,int Flag)

  {

  #如果已定义_WINDOWS

  返回LoadLibrary(PSZ filename);

  #否则

  #如果定义_LINUX //这里假设_LINUX是LINUX平台的logo宏。

  返回dlopen(pszFileName,Flag);

  #endif

  #endif

  }

  这里我们假设编写跨平台代码的关键是找到不同平台中功能相同的接口,然后在上面封装一个外壳供用户调用。为什么说使用标准C可以实现跨平台?原因是标准C是行业标准,已经在不同的操作系统中实现,相当于我前面说的shell。当然,写跨平台代码也有很多需要注意的地方,比如字节顺序(大端机还是小端机)、字节对齐和填充等。这远没有我说的那么简单。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: