我正在研究计算机体系结构,但我不明白是什么真正使一台机器的软件与另一台机器“兼容”。让我们以两台使用相同 intel cpu 的机器(例如 Mac OS 和 Windows)为例。现在,如果操作码相同,它们的软件怎么可能彼此不兼容?
1)有人可以概述一下兼容性词所涉及的内容吗?
2)除了CPU的操作码之外,还有哪些因素可以使两台机器相互兼容?
我正在寻找一个简单的Unicode,GUI,Native,应用程序,可以在不需要任何非标准库的情况下运行,使用GNU-GCC(g ++)编译的C++编写.
我不是指一个代码源运行任何地方,而是3(Win/Linux/Mac)代码源!run-without-library(本机应用程序).
应用程序可以在不需要任何非标准库的情况下运行,只需要操作系统C++运行时(如Windows上的MSVCRT).
从右到左的窗口布局(支持从右到左阅读语言),两个按钮[Message]在消息框中显示UTF-8 stings("اهلابالعالم"),[Exit]到... i想退出!:p
===================================
编译器:MinGW g ++ 4.5.0
命令行:
#include (windows.h)
#include (tchar.h)
#include (string)
typedef std::basic_string<TCHAR> ustring;
LONG StandardExtendedStyle;
TCHAR buffer_1[1024];
TCHAR buffer_2[1024];
static HWND button_1;
static HWND button_2;
inline int ErrMsg(const ustring& s)
{
return MessageBox(0,s.c_str(),_T("ERROR"),MB_OK|MB_ICONEXCLAMATION);
}
LRESULT CALLBACK WndProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
button_1=CreateWindow(L"button",L"UTF-8 Message",WS_CHILD|WS_VISIBLE,10,10,120,25,hwnd,(HMENU)1,NULL,NULL);
button_2=CreateWindow(L"button",L"Exit",WS_CHILD|WS_VISIBLE,10,50,120,25,hwnd,(HMENU)2,NULL,NULL);
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case …Run Code Online (Sandbox Code Playgroud) 好吧也许疯狂有点太强了,但我问的是,如果有任何窗口工具包那里没有让我这样做:
class MyApp(SomeWindowClass):
Run Code Online (Sandbox Code Playgroud)
我真的不想使用一个如此痴迷对象的人制作的图书馆,他/她认为应该有一个应用程序类(只有一个实例,所以我不明白为什么任何人都想做那些额外的打字)(顺便说一下,对于那些同意这些库设置方式的人来说没有任何冒犯意图,我真的很想知道是否有任何东西有一点点对象)
根据编译器体系结构,使C++函数或结构,类(使用元编程)确定有符号和无符号类型的最大值.一个用于签名,另一个用于无符号数字.
要求:
澄清:
评论后,我很惊讶,对非典型的C++问题的反应.我已经知道强调这个问题很好,这个问题不是家庭作业,也不是来自月球,但它是实用的领域.
对于所有感兴趣的应用这些东西...首先:它不是功课:).这是基于我所面临的实际问题的实用,可回答的问题 - 如SO.FAQ所建议的那样.感谢您提供有关climits等的提示,但我正在寻找"智能代码".当然climits,limits经过良好测试和良好的代码片段,但它们是巨大的,不一定"聪明,棘手".我们正在寻找智能解决方案(不是"巨大的任何"解决方案),不是吗?即使你,climits建议也没关系,作为起点.对于那些对区域感兴趣的人,其中包括头文件是不允许的,并且源代码的大小是相关的,很少有:编译器的实验,程序转换,为编程竞赛准备问题集等.实际上它们的树与问题有关I我目前正在努力.所以我不认为(SO.FAQ)过于本地化,我认为,对于(SO.FAQ)爱好者程序员来说,这是肯定的问题.如果您认为即使所有这些,这个问题都有问题,请告诉我 - 我不想再犯错误.如果没关系,请告诉我,我能做些什么来不让它失败?
请在回答我的问题之前先观看相册和说明.http://imgur.com/a/DKd4H#0
我想在C++中创建一个类似于相册图像的程序(参见上面的链接),但我不认为流行的GUI库可以完成以下所有操作.
在谷歌搜索后,我没有找到任何符合我要求的图书馆.所以我来到这里问问题.我希望图书馆可以免费(没有任何限制),并允许我:
我正在为商业项目免费寻找跨平台GUI(这意味着我不能给出代码)没有GPL,我想没有LGPL还有什么能让我离开?wxWidgets?谢谢
所以我不是C程序员,所以原谅这个问题.我正在阅读这篇博客文章Google Zopfli Compression,我对以下句子感到有些傻眼:"Zopfli是用C语言编写的,用于移植".
C是一种可移植的语言究竟是什么?或者他不是指在编译到机器代码意义上的便携性,而是一些其他背景?我猜C比编写汇编代码更便携.但这真的是他想要做的比较吗?我希望有人可以告诉我他的意思以及C是一种可移植的语言.
非常感谢!
是否有这对于WinAPI的等价物库FindWindow,EnumWindows,WindowFromPoint,ChildWindowFromPoint,GetWindowRect,GetWindowText,EnumDisplayMonitors等支持的每个平台:Windows中,X11,OS X,......?
Mac上的Linux,NSWindowList,CGSGetWindowProperty()等上有XGetWindowProperty,XFetchName等函数.我只是想要一个包装器库,就像这些函数的抽象层一样,所以我可以在所有平台上使用相同的代码.
我见过很多C/C++库和Gui Toolkits.其中有一些像GTK +,Qt,Swing等声称与平台无关.有些人,比如WxWidgets,SWT等声称是跨平台的.起初我认为这只是一个措辞的改变,但这些术语的使用已经开始令人怀疑.什么是区别?
cross-platform virtual-machine platform-independent libraries