Tag: 跨平台

Qt程序部署到多平台,怎么样?

我是Qt编程的新手,我想开发一个我希望在Windows,Linux(ubuntu)和Mac上运行的程序。 我听说Qt支持mutli-platform应用程序开发, 但我的问题是, 在部署或编译之后,任何Qt库是否需要在Ubuntu中运行这些应用程序?

知道C中的任何跨平台套接字库(windows和Linux)吗?

我期待在linux和windows中进行套接字通信(监听,接受,连接,接收,发送,断开)。 我的项目是在C中,所以除非有人能想到让我将C ++库集成到C项目中的方法,否则库也必须在C中。 最终,我希望该库具有ipv6支持和非阻塞模式,但是,这些东西并不是必需的。 有谁知道任何库/跨平台示例代码? 即使只是大型代码片段也会有所帮助。 到目前为止,我发现的少数套接字库都是用C ++编写的。

(bool)(i&1)和i%2 == 1相同吗?

(bool)(i & 1)和i % 2 == 1总是相同, i是int吗? 注意:总是说我的意思是所有平台(即使字节是16位)和所有C和C ++标准。 编辑: 对于存在bool所有C和C ++标准。

穿越C语言,跨平台

我正在处理当前在单个线程上运行的现有项目(在C中),我们希望在多个平台上运行并且具有多个线程。 希望有一个库,因为,恕我直言,Win32 API就像反复盯着自己的眼睛。 我知道Boost.Thread for C ++,但是,这必须是C(并且可以在MinGW和gcc上编译)。 对不起,Cygwin不是一个选择。

使用make进行跨平台编译

我目前正在Linux和Win32下开发一个C项目。 ‘deliverrable’是一个共享库,所有开发都是在Linux下使用GNU工具链完成的。 我正在使用Makefile来编译共享库。 我不得不在同一个src下在Win32下构建一个.dll。 我已经在Win32盒子上安装了MinGW,这样我就可以使用make并从编译器中获得更少的投诉(与MSVC相比)。 我正处于src代码在两个平台上编译的阶段 但是Linux Makefile和Win32 Makefile是不同的。 我很好奇如何最好地处理这个 – 我应该: 有2个makefile,例如Makefile for linux和Makefile.WIN32然后在Windows框上运行make -f Makefile.WIN32 我应该在单个Makefile中创建一个不同的目标,并在Windows框中执行类似make WIN32的操作 我应该放弃制作并使用CMake(对于这样一个简单的项目来说,果汁值得挤压,即1个共享库)

COM的跨平台替代方案

我一直迷恋于基于组件的编程(无论是COM,另一个系统,还是只使用普通C ++中的范例)。 它需要一点习惯,如果一个人习惯于“传统的”OOP模型,但它是值得的。 它使我的代码更易于维护和扩展。 我目前正在研究的项目是使用范例,但没有设置系统。 但是,我真的很想找到一些可以满足以下要求的系统。 从我现在的切换到新系统需要花费一些时间,但是我稍后会节省多倍的时间。 要求: 跨平台 快速 适用于C ++ 支持跨进程编组 让我详细说明这些要求: 跨平台 基本上,我需要它在Windows和Mac上工作。 Linux会很好,但绝不是必不可少的。 此外,它确实需要满足所有平台的其他要求。 有一个适用于Mac的COM,这将是理想的,但它不支持要求4.此外,它必须支持GCC和MSVC。 快速 不幸的是,这就是CORBA失败的地方,尽管它满足了其他三个要求。 进程内方法调用需要尽可能快(理想情况下,如COM),因为某些例程也可能从音频中断调用。 适用于C ++ ……我想这一点大多是显而易见的。 我不介意不使用C ++类来实现组件,虽然这将定义有用,并且替代方案必须仍然易于使用,特别是因为最终我打算发布第三方扩展的API。 支持跨进程编组 我的意思是至少能够序列化呼叫。 如果这是通过IDL生成的代码完成的,那对我来说完全没问题,而且我也不介意实现跨进程通信本身。 COM会很棒,但它不能完全满足要求1。 CORBA也会很棒,但它不符合要求2(即使有最快的ORB)。 XPCOM可能不符合要求2,并且不适用于MSVC,因此不符合要求1。 还有什么想法吗? 我的下一步是使用protobufs或类似的东西滚动我自己,但当然我想避免这样做。 更新 详细说明 – 在此上下文中的音频中断可以低至2-3ms。 那个时间甚至不能完全提供给我,因为其他组件需要在那个时间处理,而我的软件本身就包含了另一个需要在那个时间处理的软件。 这就是为什么在进程和跨进程编组都需要非常快的原因。

跨平台支持sprintf的格式’-Flag

Single UNIX Specification Version 2将sprintf的格式’ -flag行为指定为: 十进制转换结果的整数部分( %i , %d , %u , %f , %g或%G )将使用数千个分组字符进行格式化[ 1 ] 我在c或c ++规范中找不到格式’ -flag。 g ++甚至警告 : ISO C ++ 11不支持’ printf标志 即使在Visual C中警告,也不会识别该标志; printf(“%’d”, foo)输出 : 倒是 我希望能够编写符合C标准的代码,该代码使用格式’ -flag的行为。 因此答案我正在寻找以下之一: C-Standard格式’ -flag的规范 跨平台兼容外推gcc的格式’ -flag certificate跨平台外推是不可能的

位操作的标准(跨平台)方式

由于是数字的不同二进制表示(例如,采取大/小端),这是跨平台: // NOTE: FIXED-SIZE unsigned integral type some_unsigned_type variable = some_number; // set n-th bit, starting from 1, // right-to-left (least significant-to most significant) variable |= ( 1 << ( n – 1 ) ); // clear the same bit: variable &= ~( 1 << ( n – 1 ) ); 换句话说,编译器是否总是处理固定大小的无符号数的不同二进制表示,或者它是特定于平台的? 如果variable是有符号整数类型(例如, int )并且其值是 […]

跨平台键盘/鼠标输入推荐

有没有人对一个好的跨平台输入库有任何建议? 我想得到: * at least keyboard and mouse input * on at least the big three operating systems * Small/fast * C or C++ * permissive licensing gpl2/mit/free/etc. 到目前为止,我见过: * OIS (used in Ogre) http://sourceforge.net/projects/wgois/ * SDL (used everywhere it seems, might be a clue) http://www.libsdl.org/index.php * Allegro http://www.talula.demon.co.uk/allegro/readme.html 有没有人使用过这些,或者知道其他可能有用的东西? 谢谢

在C / C ++中产生线程的跨平台方式?

在C和C ++中是否有一种产生线程的跨平台方式? 像sched_yield()或Sleep(0)之类的东西? SDL_Delay(0)总是会产生或在某些实现中立即返回吗?