标签: multiplatform

为什么Perl的PAR不能找到Socket.pm的可加载对象?

我正在使用PAR :: Packer在Cygwin上打包我的Perl应用程序,然后在HPUX上运行它.

一个简单的hello世界运作良好,例如:

pp -p hello.pl
Run Code Online (Sandbox Code Playgroud)

这导致a.par然后在HPUX上:

parl a.par
Run Code Online (Sandbox Code Playgroud)

它很棒.

但是,当使用-B bundle switch打包一个具有许多依赖关系的更大的应用程序时,没有这样的运气,而是我收到错误:

 Can't locate loadable object for module Socket in @INC
Run Code Online (Sandbox Code Playgroud)

任何想法,也许是Windows/unix网络的一些问题?任何修复?

perl cpan multiplatform par

4
推荐指数
1
解决办法
2554
查看次数

便携式图书馆的语言选择

我想编写一个库,该库将从在Windows,Linux和OS/X等现代操作系统上运行的其他程序动态链接(即它将作为一个.dll.so模块部署).

在这种情况下,最合适的语言是什么?我应该坚持使用普通的C吗?或者C++也可以吗?

c c++ portability multiplatform

4
推荐指数
1
解决办法
484
查看次数

用于多平台开发的C++ API

我想学习C++以在各种平台(主要是Linux和Windows)上工作.我遇到过一些解决方案,比如Boost C++库,Qt工具包等,它们可用于编写将在两个平台上编译的程序.

我想从社区了解到,您将使用哪种类型的库,以及您是否有过这种类型的多平台编程经验.

c++ api multiplatform

4
推荐指数
1
解决办法
1578
查看次数

Bash别名为Python脚本 - 是否可能?

我想要"归类"成Python脚本的特定别名恰好是使用cUrl -o(输出到文件)选项的别名.我想我可以很容易地把它变成BASH函数,但是有人告诉我,我可以通过采用我的想法并使它们成为Python脚本来避免BASH的不同版本和"风味"的怪癖和陷阱.

与此想法相吻合的另一个概念是我必须制作与下载平台无关的传统Mac OS(官方称为"OS 9"或"经典")的功能:将URL写入文件的某些部分可见文件navigator {Konqueror,Dolphin,Nautilus,Finder或Explorer}.我知道只有少数文件类型使用其他一些命令行工具(exiv2,wrjpgcom等)支持这种事情.这对我来说非常好,因为我只使用这个别名来下载单页图像文件,例如JPEG.

我认为我可以通过让脚本传递字符串传递字符串来充分利用Python的强大功能,该字符串是下载的源URL(由用户输入并首先由cUrl使用)到exiv2这样可以将其写入到注释块,EXIF用户注释块,以及(作为第一个也是最差的例子)Windows XP的文件描述字段.从小做起有时是一个很好的开始.

希望有人有意见或建议.

BZT

python bash scripting curl multiplatform

4
推荐指数
1
解决办法
7740
查看次数

扫描目录c ++

在c ++中递归扫描目录的最佳方法是什么?这应该在所有操作系统上运行,以便api最好吗?

c++ directory multiplatform

4
推荐指数
1
解决办法
920
查看次数

C++ rand和srand在不同的机器上获得不同的输出

我想生成一个随机整数,所以我使用了C++ rand(void)和srand(int)函数:

int main(){
     srand(1);
     cout << rand() << endl;
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

好的,它符合我的需要.每次执行它我得到相同的结果,我喜欢它!
但有一个问题.当我在计算机上执行它时,我输出了16807.但是当我在另一台机器上执行时,我得到了1804289383.

我知道rand()和srand(int)有一个类似于这个的简单实现:

static unsigned long int next = 1;

int rand(void) // RAND_MAX assumed to be 32767
{
    next = next * 1103515245 + 12345;
    return (unsigned int)(next/65536) % 32768;
}

void srand(unsigned int seed)
{
    next = seed;
}
Run Code Online (Sandbox Code Playgroud)

所以为什么?是否有可能rand()在多台机器上有不同的实现?我该怎么办?

我想以这样的方式修改另一台机器,我也从那台机器上获得16807.
请注意,我喜欢计算机上的rand实现.请告诉我其他机器与我的相同结果.

提前致谢.

c++ random multiplatform

4
推荐指数
1
解决办法
4391
查看次数

使用Gradle构建Java项目时,从docbook XML生成PDF

在使用gradle(build.gradle文件)构建java项目时,我需要生成docbook.xml文档(5.0)的PDF版本.

如果有人能够展示一个可以在任何平台(Mac OS X,Windows,Linux)上运行的脚本示例,那将非常有用.

xml pdf docbook multiplatform gradle

4
推荐指数
1
解决办法
2160
查看次数

有没有办法在 Glib v2.32+ 中设置线程优先级?

Glib 2.30 API允许通过GThreadPriority枚举设置线程优先级。然而,该 API从 2.32 开始已被弃用,我找不到任何有关使用新 API 设置线程优先级的信息。我按 Ctrl+F 浏览了API 参考中所有与线程相关的部分,但没有发现任何与优先级相关的内容。谷歌似乎也不知道任何事情。

那么在 2.32 API 中是否可以为线程分配优先级呢?如果是,如何在创建时执行此操作?是否可以在创建线程后更改它?我知道 pthread 支持所有这些,但我更愿意坚持使用独立于平台的 Glib API。

linux multithreading cross-platform multiplatform glib

4
推荐指数
1
解决办法
1077
查看次数

Linux 上的 Python 模块 win32com

我正在编写一些在多个平台下运行的 Python 代码。不幸的是在Win32下,我必须支持一些COM功能。

然而,这些行在 Linux 环境下会失败:

from pythoncom import PumpWaitingMessages
from pythoncom import Empty
from pythoncom import Missing
from pythoncom import com_error
import win32api
Run Code Online (Sandbox Code Playgroud)

所有其他使用 Win32 COM API 的函数也将失败。确保某些代码未根据平台加载/导入并在接口的客户端调用它们时给出错误消息/异常的标准方法是什么?

python multiplatform python-import

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

多平台C++项目:包含特定于平台的源

对于我的一些类,每个操作系统有不同的实现.
我的源结构是这样的:

  • 包括/ AExample.h
  • 包括/窗/ WindowsExample.h
  • 包括/ LINUX/LinuxExample.h
  • SRC/AExample.cpp
  • SRC /窗/ WindowsExample.cpp
  • SRC/LINUX/LinuxExample.cpp

A*类是特定实现的接口

我当前的构建系统是cmake - 但目前它只能构建linux版本.

在Windows构建中我只需要包含windows/*文件,而在Linux上只需要包含linux/*文件

我需要

  • 仅包含与我当前构建相关的文件
  • 当我需要AExample的实例时,选择正确的实现

您可以推荐哪些技术以专业的方式实现这一目标?

c++ build multiplatform cmake

3
推荐指数
1
解决办法
2229
查看次数