Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 修改Mac OS X的旧Windows程序_C++_Macos - Fatal编程技术网

C++ 修改Mac OS X的旧Windows程序

C++ 修改Mac OS X的旧Windows程序,c++,macos,C++,Macos,这个应用程序是在1998年为windows编写的, 我喜欢使用这个程序,现在我想学习如何制作它 在Mac上工作,可能会更改和添加功能 问题是我不知道从哪里开始,我研究了C++ PHP、JavaScript,但不知道如何阅读这个代码。或者从哪里开始 谢谢你看 从 什么是TextCalc TextCalc是 表达式计算器和文本 编辑两者兼而有之,它有几个优点 与传统方法相比的优势 计算器 1) 您可以对表达式求值,如 9*4-2+95-12就像你写的那样 把它们写在纸上 2) 你可以把评论放在你的

这个应用程序是在1998年为windows编写的, 我喜欢使用这个程序,现在我想学习如何制作它 在Mac上工作,可能会更改和添加功能

问题是我不知道从哪里开始,我研究了C++ PHP、JavaScript,但不知道如何阅读这个代码。或者从哪里开始

谢谢你看

什么是TextCalc

TextCalc是 表达式计算器和文本 编辑两者兼而有之,它有几个优点 与传统方法相比的优势 计算器

1) 您可以对表达式求值,如 9*4-2+95-12就像你写的那样 把它们写在纸上

2) 你可以把评论放在你的评论之外 答案和表达

3) 您可以保存、重新加载、编辑和删除 打印结果和表达式

4) 你不需要写你的 在考试前在纸上写下答案 计算另一个表达式,如您所示 可以将上一个结果保留在 编辑

5) 可以打开现有的文本数据 归档并对其执行计算

6) 可以将表达式应用于多个对象 一气呵成。比如你 可以将列表1 2 3 4 5更改为2 4 6 8 10将每个数字乘以 二,

7) 您可以求和、求平均值、转换为 十六进制等。一个简单的数字列表

编辑器能够进行语法分析 用双精度括号括起来的数字和字符串 引号为“”。数字将被着色 蓝色和字符串将被涂成红色。 这使得它非常适合编辑文件 包含数字数据的

★✩


从Stroustrup的《C++程序设计语言》第二章中查算计算器实例。p> 看起来这个应用程序是用MFC编写的,MFC非常以Windows为中心。将此程序转换为使用不同的API(如Cocoa)将需要大量的工作,并且需要非常熟悉MFC和Cocoa。更不用说涉及C++翻译成Objto-C的工作了。


您最好在虚拟机(如VirtualBox)或Wine下运行它。不幸的是,微软Visual C++的免费版本不包括MFC,所以要修改这个代码,你必须购买MSC的非免费版本,或者将程序翻译成“裸骨”Win32,而不使用MFC。

< P>代码看起来是C++。Mac上有C++。 这段代码依赖于MFC,如果OSX上没有MFC,那么就需要选择Mac和Windows上都可用的框架,如、、等。然后,您需要将MFC转换为新框架


在此过程中,您将了解更多有关MFC的信息。

本程序的核心部分(表达式评估)摘自Zoly Farkas的著作

因此,我建议如下:

  • 学习目标C
  • 作为练习,port Zoly Farkas将表达式评估转换为Objective-C,用作库或命令行
  • 学习可可
  • 作为练习,使用Cocoa为库创建图形界面。你不需要MFC

应该很有趣!:-)

为什么不在C#NET中重写它,并在Mac上使用Mono编译它呢?您可以使用包装器从c#用原生Cocoa重写GUI部件。取决于你的程序,但这个程序听起来不像你要向公众出售它,所以L+F问题可能不是问题。

根据TextCalc网站上的屏幕截图和信息,我认为这是最好的实现方式。您可以在系统首选项->键盘->服务中指定热键来触发您的服务

这其实相当容易。您不需要编写文本编辑器部分,它将在所有应用程序的所有文本区域中可用。您将收到用户选择的文本,您只需对其进行评估。有一个内置的命令行工具,您应该能够将它委托给它

有。你需要通读这本书才能理解它。不过,这是一个很好的第一个项目


在这种情况下,我认为没有任何理由试图阅读原始应用程序的源代码。你只需要知道你想要的行为是什么。

如果你决定重写它,我建议。它有许多组件可以帮助缩短开发周期,您可以为Windows、Mac和Linux编译程序

易于学习且非常高效的平台。

我不建议使用MFC“移植”这样一个旧程序,因为它无论如何都不能在Mac上使用


相反,我建议创建一个新的空白应用程序的框架,然后从旧代码中插入或多或少的大片段。骨架可以使用任何合适的语言:C++、Objto-C、RealBasic。但是,代码重用是C++,最好使用C++。安装。MFC可用于经典Mac。。。。微软在95/96发布了一个交叉编译器Visual C++。这是他们用来在Macintosh上安装Office的工具的一个版本。我不知道。谢谢已编辑。如果使用碳,则无需将其转换为Objective-C。还是我对OSX的了解太陈旧,他们放弃了对它的支持?(操作系统X的IIRC部分是用C++编写的,所以我怀疑)。这是Mac的方法。如果你想做一个文本编辑器,从文本编辑示例代码开始。这是在/应用程序中提供的应用程序的源。一旦您对Cocoa有了一些感觉,添加数学评估的修改就会很简单。依赖mono及其winforms支持甚至比在objective-C中重写还要糟糕