标签: cross-platform

用于(在不同平台上)的NDEBUG预处理器宏是什么?

我对各种平台/编译器("实现")/框架分配给C和C++预处理器宏的目的感兴趣NDEBUG.

Ç以及C++标准只提及这个定义一次,即控制的行为assert()宏.

我会要求只包含特定的答案,您知道C或C++ 的某个平台/框架/库使用该NDEBUG定义来启用或禁用除标准定义的assert()宏之外的任何其他内容.

提出这个问题的一个原因是MS(Visual-C++)总是(?)使用"他们的" _DEBUG定义来区分调试和发布内容,我想知道这是否是图书馆/平台的常见做法"自己的"调试定义或其他库/平台是否NDEBUG用于调试相关的东西.

c c++ cross-platform ndebug c-preprocessor

37
推荐指数
2
解决办法
4万
查看次数

适用于c或c ++的简单2d跨平台图形库?

在标题中,我需要一个跨平台的2D图形库,并提供简单的功能,如Basic; 基本上,我只需要将像素绘制成某种颜色 - 我不需要硬件加速或任何类型的3D支持.我发现了几个,但它们不是跨平台的.

有谁知道我的解决方案?

c graphics cross-platform

36
推荐指数
5
解决办法
9万
查看次数

导入模块时的错误处理

这可能有一个明显的答案,但我是初学者.我有一个"模块"(实际上只是一个包含我经常使用的一系列函数的文件),在开始时我导入了许多其他模块.但是,由于我在许多系统上工作,并非所有模块都可以在任何特定计算机上加载.为了使事情稍微变得困难,我在导入它时也会更改包的名称 - 例如,matplotlib缩写为mp.

我想要做的只是加载我正在使用的系统上存在的那些模块,并对那些没有的模块进行一些错误处理.我能想到的唯一方法就是将每个import语句放在它自己的try块中,这看起来非常不像pythonic.如果我将它们全部放在同一个try块中,那么抛出错误的模块将阻止后续模块的加载.任何可能让事情看起来更漂亮的想法?如果我不想改名,那就太容易了......

python error-handling cross-platform module

36
推荐指数
3
解决办法
4万
查看次数

如何在Python中创建ramdisk?

我想在Python中创建一个ramdisk.我希望能够以跨平台的方式实现这一点,因此它可以在Windows XP到7,Mac和Linux上运行.我希望能够读取/写入ramdisk,就像它是普通驱动器一样,最好带有驱动器盘符/路径.

我想要的原因是为脚本编写测试,创建具有特定结构的目录.我想在ramdisk中完全创建目录,所以我确定在测试结束后它会被完全删除.我考虑使用Python tempfile,但如果测试将在中间停止,则可能不会删除目录.我想完全确定即使有人在测试过程中拔掉计算机上的插头,它也会被删除.

python unit-testing cross-platform temporary-files ramdisk

36
推荐指数
1
解决办法
1万
查看次数

用于C++的跨平台休眠功能

是否可以使用宏来制作跨平台的睡眠代码?例如

#ifdef LINUX
#include <header_for_linux_sleep_function.h>
#endif
#ifdef WINDOWS
#include <header_for_windows_sleep_function.h>
#endif
...
Sleep(miliseconds);
...
Run Code Online (Sandbox Code Playgroud)

c++ sleep cross-platform

36
推荐指数
5
解决办法
4万
查看次数

Golang二进制文件是否可移植?

假设我主要是Linux用户,但我正在Go中开发一个我想要跨平台的应用程序.我四处寻找,但我似乎无法找到解释以下内容的信息:

  1. 如果我go install是amd64 Ubuntu系统上的二进制文件,它是否也可以在其他任何人的 64位Ubuntu/Debian系统上运行?
  2. 我如何使用go install构建一个x86_64二进制文件,它也可以在32位Debianlikes上运行开箱即用?
  3. 如果我必须使用Windows制作将在Windows上运行的二进制文件,我怎样才能确保即使我的Windows系统是64位,也会为x86_64构建可执行文件?

我的问题实际归结为"静态/可移植是怎样的链接器/编译器?"

cross-platform binaryfiles computer-architecture go

36
推荐指数
1
解决办法
1万
查看次数

编写跨平台C++代码(Windows,Linux和Mac OSX)

这是我第一次尝试在C++中编写任何稍微复杂的东西,我正在尝试构建一个可以从Objective-C和.NET应用程序接口的共享库(好的,那部分后来......)

我的代码是 -

#ifdef TARGET_OS_MAC
  // Mac Includes Here
#endif

#ifdef __linux__
  // Linux Includes Here
  #error Can't be compiled on Linux yet
#endif

#ifdef _WIN32 || _WIN64
  // Windows Includes Here
  #error Can't be compiled on Windows yet
#endif

#include <iostream>

using namespace std;

bool probe(){
  #ifdef TARGET_OS_MAC
    return probe_macosx();
  #endif
  #ifdef __linux__
    return probe_linux();
  #endif
  #ifdef _WIN32 || _WIN64
    return probe_win();
  #endif
}

bool probe_win(){
  // Windows Probe Code Here
  return true;
}

int main(){

  return 1;
} …
Run Code Online (Sandbox Code Playgroud)

c++ cross-platform

35
推荐指数
3
解决办法
6万
查看次数

监视Windows中进程执行的某些系统调用

我希望能够监视进程发出的某些系统调用,主要是文件I/O调用.在Linux上,我可以使用带有合适参数的strace来逃避,但我怎样才能在Windows上执行此操作?

我主要对运行一个进程并确定它已经读取和写入的文件感兴趣.

编辑:我想从另一个进程以编程方式执行此操作.我知道ProcessMonitor,但我希望以一种形式接收数据,我可以将其导入另一个程序以进行进一步分析.

编辑:如果我进一步缩小我的要求,它可能足以监视对CreateFile()的调用.我真的只对打开的文件感兴趣,如果打开它们进行读/写或只是阅读.我没有说明的另一个要求是速度相当重要; 我正在计划为编译C++文件这样做,并且提取一个生成20MB日志文件的完整GUI会产生过高的开销.

编辑:如果它不需要管理权限也会很好.

windows cross-platform process

34
推荐指数
3
解决办法
5万
查看次数

是否有Linux等效的Windows"资源文件"?

我有一个C库,我构建为Linux的共享对象和带有MinGW32的Windows的DLL.API取决于几个数据文件(统计模型),我真的想用SO/DLL滚动,因此部署只是一个文件.

看起来我可以使用编译的"资源文件"为Windows实现这一点windres,但后来我必须为Windows编写一堆资源处理代码,而我仍然坚持使用Linux上的文件.

有没有办法在Linux上实现相同的功能?

更好的是,有便携式解决方案吗?

gcc cross-platform embedded-resource

34
推荐指数
1
解决办法
2万
查看次数

Python:在Explorer/Nautilus/Mac-thingie中打开一个文件夹

我是Python,我有一个特定文件夹的路径.我想使用该系统的默认文件夹资源管理器打开它.例如,如果它是Windows计算机,我想使用资源管理器,如果它是Linux,我想使用Nautilus或其他默认设置,如果它是Mac,我想使用任何Mac OS的浏览器.

我怎样才能做到这一点?

python directory cross-platform

34
推荐指数
4
解决办法
2万
查看次数