1

所以大约 2 周前,我开始学习 C++ 和 Lua,我希望能够:

  1. 编译 C++ 代码(如果我也有一个 C 编译器,那将是一个很好的奖励,因为这是我要学习的语言列表中的下一个)
  2. 解释(这是正确的术语吗?)Lua,和
  3. 从我的 USB 驱动器完成所有这些操作,而无需从 Internet 下载任何内容或更改路径变量。(我将主要在学校计算机上工作。)

附带说明一下,我爱上了 Sublime Text 2(便携式版本已经在我的 USB 驱动器上)。如果它是绝对必要的,我会不用它,但我更希望能够在任何地方使用它。

请耐心等待,正如我之前提到的,我刚刚开始学习如何编程,我对事物的工作原理几乎一无所知。我见过类似的问题,但由于我的知识有限,它们似乎对我没有多大帮助,所以请不要像我在本网站上看到的其他人一样无情地结束我的问题。

先感谢您!

4

4 回答 4

4

我最近在Lua WIKI(信息的重要来源)上添加了一个页面,可能会对您有所帮助。这是一个完整的新手教程,介绍如何仅使用免费和“便携式”(在“可以放在 USB 驱动器上”的意义上)工具从源代码构建 Lua。它适用于 Windows 操作系统用户。不要忘记查看官方入门页面和Lua 主站点

你不能下载任何东西的事实是相当严格的(那么你怎么能得到一个免费的编译器呢?)。无论如何,正如greatwolf 提到的,TDM-GCC 是一个适用于32 位x86 PC 的出色C/C++ 编译器。它也被修补为完全“便携”:我通常从便携式 USB HD 使用它。我提到的教程向您展示了如何下载它并“安装它”。

请注意,尽管您在学校的系统管理员可能阻止了您全局更改路径变量的能力,但您可以使用简单的批处理文件(也称为 Windows 命令外壳脚本)为单个进程(“启动的程序”)设置它。

使用以下内容创建一个名为“myshell.cmd”的文件:

@set path=%path%;c:\the\path\to\my\app&cmd /K

该部分c:\the\path\to\my\app必须是放置应用程序可执行文件的目录(文件夹)的实际路径。当您双击myshell.cmd一个黑框时(假设您的系统管理员没有阻止此功能),您可以在其中调用应用程序可执行文件。

例如,如果您c:\myprogs\GCC在该目录中“安装”了 TDM_GCC 编译器,您会发现一个名为bin. 该子目录必须放在路径中,因此您的myshell.cmd文件将如下所示:

@set path=%path%;c:\myprogs\GCC\bin&cmd /K

然后在我提到的“黑匣子”中,您可以调用编译器键入:

gcc --help

至于你的学习路径,如果你打算同时学习 Lua 和 C 或 C++,我会建议你尝试 C 而不是 C++。C++ 有更多的“高级”特性,但它是巨大的,虽然 Lua 可以嵌入到 C++ 代码中使用(当然这是一个高级主题),但它被设计为直接嵌入到 C 应用程序中(它有一个符合 C 约定的 API),因此对于初学者来说,Lua --> C --> C+Lua 的路径可能会更容易一些。C 本身虽然很难掌握,但它是一种相当简约的语言,因此要消化的信息并不多。

不要气馁,但 IMO C 和 C++ 都不是最适合绝对初学者的语言(它们有很多陷阱,几乎没有初学者的“安全网”)。但这取决于您,这在很大程度上取决于您的技能、奉献精神和动力;-)

希望这一切都有帮助。

于 2013-08-18T20:52:58.030 回答
2

对于窗户,

看一眼

http://nuwen.net/mingw.html

您应该能够将下载内容解压缩到 USB 目录。然后您可以单击 .bat 文件打开具有正确路径设置的命令提示符。

作为奖励,它已经包含预构建的 boost,这将使您的 c++ 使用更容易。

于 2013-08-16T19:52:08.783 回答
1

对于 C/C++ 部分,还建议您从 C 开始。不是出于意识形态原因,只是如果您尝试了解编译/链接等基础知识,它会简单得多。

作为第一个 C 编译器,我会推荐微型 C 编译器

微型 C 编译器

这是我见过的最简单的方法之一,你仍然可以构建 lua 库等。

一旦您对此感到满意,然后进入更强大的环境之一,例如 MingW 或 Visual C++ 下的 gcc,应该不会那么令人生畏。

于 2013-08-17T13:32:45.210 回答
0

Lua 是微不足道的。下载二进制文件,将它们放在你的驱动器上,然后配置 Sublime Text 以在 Lua 文件上调用它们。

C/C++ 之所以更复杂,只是因为选项范围如此之广。我使用 2003 版的 Microsoft Visual C++,它满足了我的需求。我在这里找到一份副本。

请记住,C++ 是 C 的一个非常复杂的超集(非严格),因此您将在学习 C++ 的过程中学习大部分 C。IMO,出于多种原因,首先学习 C 会更好。你会听到一些人反对,但在这种情况下有一个关键:Lua 是用 C 编写的,它的 API 是为 C 设计的。将惯用的 C++(即对象)暴露给 Lua 是一个复杂的大球,你只需不要现在不需要,同时学习两种语言。

于 2013-08-16T21:26:11.263 回答