几个Windows到Linux的代码移植问题

1、在 Linux 实现 Win32 API 之 GetTickCount 函数

为了将 Windows 中的 GetTickCount API 函数移植到 Linux,可以使用如下的代码:

long GetTickCount()
{
  tms tm;
  return times(&tm);
}

2、Windows 和 Linux 系统关于 itoa 的移植问题

大家知道,在将 Windows 的 STL 代码移植到 Linux 系统时,由于 Linux 系统中 STL 没有实现默认的itoa 函数,因此 itoa 在 Linux 中无法正常工作。要是在 GCC 命令行禁用 STL 的话,那么代码里就无法使用 STL,从而丢失可移植性。这里给出一个 简单可行的解决 方法,以便你碰到这种情况时顺利进行从 Windows 到 Linux 的移植:

#if defined(__linux__)
#define _itoa   itoa
char* itoa(int value, char*  str, int radix)
{
    int  rem = 0;
    int  pos = 0;
    char ch  = ''!'' ;
    do
    {
        rem    = value % radix ;
        value /= radix;
        if ( 16 == radix )
        {
            if( rem >= 10 && rem <= 15 )
            {
                switch( rem )
                {
                    case 10:
                        ch = ''a'' ;
                        break;
                    case 11:
                        ch =''b'' ;
                        break;
                    case 12:
                        ch = ''c'' ;
                        break;
                    case 13:
                        ch =''d'' ;
                        break;
                    case 14:
                        ch = ''e'' ;
                        break;
                    case 15:
                        ch =''f'' ;
                        break;
                }
            }
        }
        if( ''!'' == ch )
        {
            str[pos++] = (char) ( rem + 0x30 );
        }
        else
        {
            str[pos++] = ch ;
        }
    }while( value != 0 );
    str[pos] = ''\0'' ;
    return strrev(str);
}
#endif

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索linux
, windows
, 移植
, 函数
, 代码
, 可移植
, itoa
, linux 移植
, itoa c++
, guirtems移植linux
, itoa()
itoa函数
windows代码移植linux、windows程序移植linux、windows移植到linux、linux移植windows、qt linux移植windows,以便于您获取更多的相关知识。

时间: 2024-11-01 20:33:37

几个Windows到Linux的代码移植问题的相关文章

将Linux代码移植到Windows的简单方法_unix linux

一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如果想要使用完整的代码,就要做移植工作.因为C/C++ Library的不同和其他的一些原因,移植C/C++代码是一项困难的工作.本文将以一个实际的例子(Tar)来说明如何把Linux代码移植到Windows平台上.移植过程将尽量少修改代码,以便代码的运行逻辑不会发生任何变动.保留绝大部分软件主要功能. 二.准备工作 Tar是Linux平台下面一个

怎样在Windows和Linux下写相同的代码

目前,Linux在国内受到了越来越多的业内人士和用户的青睐.相信在不久的将来,在国内为Linux开发 的应用软件将会有很大的增加(这不,金山正在招兵买马移植WPS呢).由于未来将会是Windows和Linux两强鼎立的格局,怎样能够使得开发的软件保持最大的可移植性就成了一个很重要的问题.小弟经过一段时间的摸索,找到了这个问题的圆满解答. 在Linux下,所有的开发工具和库都属于自由软件,可以免费获得并且功能强大.如果这些工具和库都有相应的Windows版,那么我们就能够在Windows和Linu

简单Linux代码移植方法(ZT)

介绍  用一个例子简单说明了从linux平台移植到windows平台上的一些需要注意的问题和解决方法. 例子仅用来说明移植过程产生的问题用. 正文  简单Linux代码移植方法 一.前言 Linux 拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如果想要使用完整的代码,就要做移植工作.因为C/C++ Library的不同和其他的一些原因,移植C/C++代码是一项困难的工作.本文将以一个实际的例子(Tar)来说明如

分析Windows和Linux动态库_unix linux

    摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理.但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植.本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验. 1.引言 动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用

《Raspberry Pi用户指南》——1.2 Windows vs. Linux

1.2 Windows vs. Linux Raspberry Pi用户指南除了尺寸和价格外,树莓派和台式机或笔记本电脑另外一个重要的不同点,就是使用的操作系统,即控制整台电脑的软件系统. 大多数的台式机和笔记本电脑都是使用微软的Windows操作系统或是苹果的OS X操作系统.这两个平台都是闭源的,在使用过程中有版权限制. 闭源操作系统最大的特点在于,控制系统做什么的源代码是不对外开放的.闭源软件的源代码是绝对保密的.用户能够获得最终的软件产品,但无法知道它是如何编写的. 相比较而言,在树莓派

Windows及Linux平台下的计时函数总结

本文对Windows及Linux平台下常用的计时函数进行总结,包括精度为秒.毫秒.微秒三种精度的各种函数. 比如Window平台下特有的Windows API函数GetTickCount().timeGetTime().及QueryPerformanceCounter(), Linux平台下特有的gettimeofday()函数,以及标准的C/C++函数time()和clock().下面分别对此进行简单介绍并附上示例代码. 通用的C/C++计时函数time()和clock() time_t ti

Windows与Linux换行符差别所引起的问题的解决方法

  windows和linux下的换行符是不同的.一般操作系统上的运行库会自动决定文本文件的换行格式. 如一个程序在windows上运行就生成CR/LF换行格式的文本文件,而在linux上运行就生成LF格式换行的文本文件. 在一个平台上使用另一种换行符的文件文件可能会带来意想不到的问题, 特别是在编辑程序代码时. 有时候代码在编辑器中显示正常, 但在编辑时却会因为换行符问题而出错. 很多文本/代码编辑器带有换行符转换功能, 使用这个功能可以将文本文件中的换行符在不同格式单互换. 在不同平台间使用

多核时代:并行程序设计探讨(3)——Windows和Linux对决(多进程多线程)

并行程序设计探讨(3)--Windows和Linux对决(多进程多线程) 前面的博文经过分析总结,最后得出两种并行技术:多进程多线程.多机协作.对于多进程和多线程来说,最有代表性且最常见的的莫过于Windows和Linux(作为UNIX类操作系统的代表,下同)这两个操作系统了. 真是冤家路窄,Windows和Linux这对冤家在这里又碰面了!! 当然,我这里不是要挑起Windows和Linux谁优谁劣的争论,对于一个真正的技术人来说,Windows和Linux本身并没有优劣之分,只有在不同的使用

3.0 Windows和Linux双系统安装(3)

3.0 Windows和Linux双系统安装(3) 3.1 精简的安装步骤如下:(如果已经有了前面两篇教程的安装经验,推荐看完3.1即可动手了) 双系统很多开发新人会用到,而且比起虚拟机好处是运行效率较高,提高产出比. 已经一口气写了好多字了,有了之前(1)(2)的铺垫那么久只要注意两点即可:(1)先安装Windows再安装Linux.(2)Windows安装过程分盘操作的(2)步骤,即预留200G或者其他50G以上的空间来就给Linux.(3)在Fedora安装时磁盘操作时,一定,一定,一定要