草庐IT

portability

全部标签

iphone - 移动平台之间的可移植性

是否存在任何库或其他开发资源可以帮助减少在各种移动平台之间移植应用程序所涉及的工作量?我特别感兴趣的是支持iPhone、Android和WindowsPhone7。一些关注的领域包括UI、客户端-服务器通信和硬件支持(例如相机、GPS等)。 最佳答案 MonoTouch允许您使用.NET(C#)编写iPhone应用程序。在不久的将来,Android版本也将可用(MonoDroid)至于WindowsMobile,我会忘记它并专注于WindowsPhone7,它将为应用程序使用Silverlight。当然,Silverlight也是.

Android wifi热点客户端连接事件

我在我的android应用程序中以编程方式将不同的设备与wifi热点AP连接,我如何检测正在连接和断开连接的客户端以及我以编程方式打开的wifi热点AP?AndroidAPI中是否有任何回调事件来提供有关各个设备的连接或断开事件的信息?提前致谢。 最佳答案 我认为你需要使用WifiP2pDevice您可以在那里检查可用设备,以及它们是否已连接。尝试在此处查看可用的方法here编辑:这AndroidWifiHotspotManagerClass有示例代码扫描/proc/net/arp并ping每个已知客户端以检测生活。您可以在循环中实

c++ - 64 位整数和旧的 C++ 编译器

我想在我的C++代码中使用64位整数。我知道我可以#include然后声明一个uint64_t或使用unsignedlonglong(或签名版本的等价物)。但是,似乎直到C++11才添加对此的支持并且我希望我的代码与不具有完整C++11支持的编译器兼容。在C++中支持64位整数的良好可移植方式是什么? 最佳答案 uint64_t是:Optional:Thesetypedefsarenotdefinedifnotypeswithsuchcharacteristicsexist.正如您在ref中所读到的那样.来自ShouldIuselo

c++ - Cygwin 与 Linux 下 g++ 创建的可执行文件的默认文件扩展名

我的大部分工作都是在VisualStudio上完成的,对gcc或g++没有太多经验。今天早上,当我尝试在我的电脑上使用cygwin编译一个(例如aprogram.cpp)时,我得到了(aprogram.exe),当我试图在我的Ubuntu机器上编译相同的东西时,我得到了(aprogram)w/o任何扩展.我只是想知道是否有人好心告诉我原因。这个问题只是出于好奇。:)提前致谢!编辑:(来自吉米的评论)Cygwin下的g++默认为.exe 最佳答案 这很简单:在UNIX上,youdon'tneednosteenkin'extension

c++ - C++ 位域为什么以及如何不可移植?

我遇到过很多关于位域的各种问题的评论,这些评论断言位域是不可移植的,但我一直无法找到准确解释原因的来源。从表面上看,我会假设所有位域仅编译为相同位移位代码的变体,但显然它必须比这更多,否则就不会对它们产生如此强烈的反感。所以我的问题是是什么导致位域不可移植? 最佳答案 位域是不可移植的,就像整数是不可移植的一样。您可以使用整数来编写可移植程序,但您不能期望将int的二进制表示原样发送到远程计算机并期望它正确解释数据。这是因为1.处理器的字长不同,因此,整数类型的大小也不同(1.1字节长度也可能不同,但如今在嵌入式系统之外很少见)。并

c++ - 在 C/C++ 中,是否保证 volatile 变量在线程之间具有最终一致的语义?

是否有任何普遍遵循的标准(ISOC或C++,或任何POSIX/SUS规范)一个变量(也许标记为volatile),不受互斥量保护,正在被访问由多个线程将变得最终一致,如果它是分配给?举个具体的例子,考虑两个线程共享一个变量v,初始值为零。线程1:v=1线程2:同时(v==0)产量();是否保证线程2最终会终止?或者可以吗可以想象永远旋转,因为缓存一致性永远不会启动并使分配在线程2的缓存中可见?我知道C和C++标准(在C++0x之前)不在所有关于线程或并发。但我很好奇C++0x是否内存模型或pthreads或其他任何东西都可以保证这一点。(显然,这确实适用于32位x86的Windows;

c++ - 您如何编写(可移植的)反向网络字节顺序?

背景在设计二进制文件格式时,一般建议按照网络字节序写入整数。为此,有像htonhl()这样的宏。但是对于WAV这样的格式,实际上使用的是littleendian格式。问题无论代码运行的CPU是大端架构还是小端架构,您如何可移植地写入小端值?(想法:标准宏ntohl()和htonl()以某种方式“反向”使用?或者如果代码在小端或大端CPU上运行并选择适当的代码路径,代码是否应该只测试运行时?)所以问题实际上与文件格式无关,文件格式只是一个例子。它可以是需要“在线”小端字节序的任何类型的序列化,例如(异端)网络协议(protocol)。 最佳答案

c++ - 如何制作可移植的可执行文件?

有没有一种方法可以将c/c++源文件编译成可以在不同计算机上的其他处理器上运行的.exe文件?我问的是Windows平台。我知道它可以用java或c#完成,但它使用虚拟机。PS:对于那些说只用虚拟机就可以完成或者必须在每台机器上编译源代码的人,我问的是所有病毒都是用java或c#编写的,你需要一台虚拟机才能感染或者你需要在你的机器上编译蠕虫的源代码才能被感染?(我不是要制造病毒,但这是一个很好的例子:)) 最佳答案 不同的计算机使用不同的指令集、OS系统调用等,这就是为什么机器代码是特定于平台的。这就是为什么开发了各种技术(如字节码

c++ - C++ 中的跨平台原始数据类型

与Java或C#不同,C++中的原始数据类型的大小可能因平台而异。例如,int不能保证是32位整数。各种编译器环境为此目的定义了数据类型,例如uint32或dword,但似乎没有针对固定大小数据类型的标准包含文件。实现最大可移植性的推荐方法是什么? 最佳答案 我发现这个header特别有用:BOOSTcstdint通常比发明自己的轮子(需要维护和测试)要好。 关于c++-C++中的跨平台原始数据类型,我们在StackOverflow上找到一个类似的问题: ht

python - 我应该如何在不丑陋的情况下在 Windows 上启动一个 Portable Python Tkinter 应用程序?

我使用Tkinter在Python中编写了一个简单的GUI程序。我们称这个程序为“gui.py”。我的用户使用PortablePython从USBkey在Windows机器上运行“gui.py”;在主机上安装任何东西都是不可取的。我希望我的用户通过双击USBkey根部的图标来运行“gui.py”。我的用户不关心python是什么,如果不需要,他们也不想使用命令提示符。我不希望他们必须关心USBkey分配的驱动器号。我希望它能在XP、Vista和7上运行。我的第一个丑陋的解决方案是在USBkey的根目录中创建一个快捷方式,并将快捷方式的“目标”属性设置为类似“(root)\App\pyt