我正在开发一个应在 Windows 服务器和客户端 Win2K 及更高版本上运行的应用程序。它使用基于 Windows 的测试自动化脚本语言 AutoIT 进行编码,但我的客户(政府机构)使用的安全代码分析工具不支持该语言,因此担心该应用程序可能无法获得批准。
我正在寻找一种替代语言来开发该工具。编译后的 .exe 不需要任何其他尚未安装在生产系统中的运行时依赖项 - 没有人有兴趣经历 10 年以上的繁文缛节旧的遗留系统将于 2023 年退休。这意味着对于初学者来说,运行时不依赖于 Python 或 .NET。暂时也没有JRE。不确定我应该检查哪些其他软件。
此应用程序只需要在 Windows 上运行。谷歌搜索后,似乎无法在没有安装 .NET 的情况下使用 C#。另一种选择是 C++。 C++ .exe 是独立的吗?我只是在 7 年前在学校用 C++ 编写过代码,那时我不需要提交编译后的代码。我还有哪些其他选择?
最佳答案
简短回答:去获取 Visual Studio 2008 , 这将使您能够构建一个 C/C++ 程序,该程序可以编译为独立的 EXE,并且仍然可以在 Windows 2000 上运行,而无需安装额外的依赖项。使用 Google 查找 VS2008 服务包的下载位置。
根据 Wikipedia :
Visual Studio 2008 is the last version to support targeting Windows 2000 for C++ applications.
在 Visual Studio 中,有一个名为 Runtime Library 的项目设置,它可以让您编译的 EXE 静态链接到 Visual Studio C/C++ 运行时,而不是采用 DLL 依赖项。我不记得 VS2008 是否要求将 MSVCRT DLL“复制”到与 EXE 相同的目录或正式“安装”。所以你最好的选择是只使用静态链接的运行时库选项而不用担心它。见下图。假设您不调用 Windows 2000 之后引入的 API,以这种方式链接的 EXE 应该在复制到目标机器时正常工作。
不保证使用较新版本的 Visual Studio 生成的 EXE 可以在较旧版本的 Windows 上运行。它通常由 C-Runtime 兼容性本身控制。这就是我向您推荐 Visual Studio 2008 的原因 - 它是针对 Windows 2000 的最后一个受支持版本。
关于c++ - 从 C++ 编译的 .exe 可以从 Win 2000 开始独立运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56421686/
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/
查看Ruby的CSV库的文档,我非常确定这是可能且简单的。我只需要使用Ruby删除CSV文件的前三列,但我没有成功运行它。 最佳答案 csv_table=CSV.read(file_path_in,:headers=>true)csv_table.delete("header_name")csv_table.to_csv#=>ThenewCSVinstringformat检查CSV::Table文档:http://ruby-doc.org/stdlib-1.9.2/libdoc/csv/rdoc/CSV/Table.html
exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby中使用两个参数异步运行exe吗?我已经尝试过ruby命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何rubygems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
我有一个在Linux服务器上运行的ruby脚本。它不使用rails或任何东西。它基本上是一个命令行ruby脚本,可以像这样传递参数:./ruby_script.rbarg1arg2如何将参数抽象到配置文件(例如yaml文件或其他文件)中?您能否举例说明如何做到这一点?提前谢谢你。 最佳答案 首先,您可以运行一个写入YAML配置文件的独立脚本:require"yaml"File.write("path_to_yaml_file",[arg1,arg2].to_yaml)然后,在您的应用中阅读它:require"yaml"arg
我发现ActiveRecord::Base.transaction在复杂方法中非常有效。我想知道是否可以在如下事务中从AWSS3上传/删除文件:S3Object.transactiondo#writeintofiles#raiseanexceptionend引发异常后,每个操作都应在S3上回滚。S3Object这可能吗?? 最佳答案 虽然S3API具有批量删除功能,但它不支持事务,因为每个删除操作都可以独立于其他操作成功/失败。该API不提供任何批量上传功能(通过PUT或POST),因此每个上传操作都是通过一个独立的API调用完成的