也许这是一个愚蠢的问题,但这是一个从人们在这里和那里说话的人学习,如果一位专家正确描述了情况,我会很高兴。 谈到标准的台式电脑,我发现Windows程序是可以随身携带的。 我可以使用静态库链接编译任何32位软件,然后将该软件放在闪存驱动器上,并且可以在世界上任何32位或64位的计算机上工作。 我有十多年的计划,他们仍然没有一个问题的工作。 现在我也编程linux,但是在做linux程序的时候我并没有这样的想法。 我总是有这样的图像,它应该在每个使用该程序的系统中编译。 一位同事告诉我,在两台Linux计算机之间盲目地在两台计算机上运行相同的软件是错误的。 但是…我用我的静态可执行文件在Windows上这样做。 我可以做到这一点在Linux两个? 因此,总结我的问题 :在Windows上创build可移植软件的限制是什么? 当然,假设目标计算机除了某些任意版本的glibc以外没有任何库。 所有的图书馆都应该是我脑海中的模型。
看来,当Gradle 3.1下载项目的依赖关系时,它将它们存储在: C:\ Users \用户名\ .gradle \caching 我试图复制这个文件夹的内容到一个新的Gradle 3.1安装不同的机器,但是当我尝试构build我的项目时,它仍然尝试从头开始下载所有的依赖项,然后失败,因为新机器没有互联网连接。 我如何解决这个问题?
我需要将一个应用程序部署到一些Windows机器上,以便从一群人那里收集数据(即应用程序将用于收集对一系列调查问题的响应)。 该过程是交互式的,在具有特定时间要求的文本和图像的显示之间交替。 我已经使用实现调查的HTML和JavaScript组装了一个原型应用程序。 但是,在部署环境中存在一些独特的约束: 当机器与互联网连接时,客户端要求调查应用程序必须完全在本地运行。 因此,将调查结果发送到远程服务器是不允许的。 显然,出于安全原因,通常不允许从Web浏览器保存到本地文件。 不允许在运行调查的机器上安装应用程序。 机器的configuration不是特别先验的 ,但我可以假设一些最新版本的Windows与IE8 +。 “没有远程访问”的要求是一个迟来的人,并且已经把一个简单的Web应用程序的计划放在了一个简单的Web应用程序的计划,可以将结果发布到HTTP服务器。 我现在正在寻找最简单的方法。 想到两个主要的方法: 使用提供可以显示HTML / JavaScript的控件的GUI框架; 在PC上运行一个完整的应用程序将允许我将结果保存到文件系统。 我从来没有这样做,但似乎在这个时代,这不应该太困难。 这将允许我重用大部分现有的原型实现,但是我需要一些将Web控件之外的结果(将存储在JavaScript数据结构中)传递到应用程序的其余部分可以访问的地方。 使用一些GUI框架重新实现整个应用程序(我之前成功地使用了PyQt,虽然不是在Windows上)。 由于缺乏重用,这种方法显然不如#1。 但是,如果#1不可行,则可能是必要的。 任何build议最好的方法去? 理想情况下,我正在寻找一个解决scheme,可以从USB拇指驱动器或类似的“便携”方式运行。
我目前正在尝试使用已安装插件的Eclipse版本,因此您只需将整个“eclipse”文件夹复制到另一个系统,并具有与原始系统相同的设置。 我现在的问题是,自eclipse 4.2(?),当使用帮助>安装新软件…插件是外部安装到文件夹 C:/Users/ Username /.eclipse/org.eclipse.platform_4.2.0_ identifier 而不是进入“eclipse.exe”所在的文件夹: C:/Program Files (x86)/eclipse 现在我的问题是,如果可以让eclipse安装额外的插件到eclipse主文件夹( C:/Program Files (x86)/eclipse )的插件/function文件夹中。 不幸的是,不能使用dropins文件夹,因为只能安装一个插件作为更新站点。 我在用着 Windows 7专业版Service Pack 1 64位 同 适用于C / C ++开发人员的Eclipse IDE 版本:Juno服务版本2 32位(提供可移植性)。 问候:)
我想做一个可移植的应用程序,即使没有安装python,也会有一些代码和python可执行文件在任何Windows上运行。 我希望它是Python 3.6,所以它只pip和setup tools安装。 编辑:关于重复 不完全的。 我不想编译代码。 我想给他们的.py文件,但意识到Windows将不会默认安装python。 我想要的东西,可以进行闪存驱动器,但将运行我的代码从源不二进制。
是否有可能在Windows上有一个真正的可移植的Haskell安装,所以一切Haskell相关发生在一个单一的目录下。 我希望能够在USB记忆棒上安装Haskell,所以我可以在任何其他的Windows电脑上使用它,只需插入即可。 这意味着当我说cabal install somePackage一切发生在本地和相对于该单一目录(nb为不同的计算机可能有一个不同的驱动器号分配给USB驱动器)。 我希望能够在任何Windows计算机上运行cabal install somePackage 。 另外,如果我可以将USB存储器的内容复制到本地硬盘并且仍然可以从那里工作(在某些Windows机器上,USB存储器被安装为只读),那就太好了。 我意识到以下相关的StackOverflow问题在这里和这里 。 我可以使用相对path设置cabal的configuration文件吗? 其他Haskell工具(如winghci)呢? 那么,我该怎么做呢? 在便携模式下安装Haskell平台,然后做什么?
我正在编写用作cgi的C程序来生成和输出gif图像。 它们用于HTML页面,标签格式为<img src="/cgi-bin/gifprogram.cgi?param=val&etc"> ,其中查询stringparams描述了由cgi生成的图像。 C程序cgi的调用像这样将其输出发送到标准输出。 在这种情况下,输出是一个包含大量二进制(不可打印)字节的gif图像。 这在Unix / Linux上已经很好了。 但Windows显然需要一个单独的不可移植的_setmode(_fileno(stdout),_O_BINARY)调用(以及一些特定于Windows的#include )。 否则,你会得到通常的cr / lf问题,即每个0x0A之前都有一个假0x0D。 这在gif中看起来不太好 有没有任何可移植的方法解决这个问题,使用ANSI标准的C没有任何特定于平台的语法,没有很多#ifdef东西来尝试检测Windows编译环境? 此外,一些Windows编译器显然使用_setmode(_fileno(stdout),_O_BINARY)而其他人使用setmode(fileno(stdout),O_BINARY) ,我也必须尝试检测。 >>编辑<<在回复评论中… 多谢你们。 我显然必须采取一些完全posix兼容/便携式的程序,并与他们混为一谈,只是为了窗口[编者注:JoNaThAn:真的,不需要编辑大写:),我个人的写作风格是故意的语法松散]。 以下是我正在考虑介绍的一些愚蠢行为。 似乎工作,据我所知,使用mingw。 这是否足够,即对全部或大部分其他编译器有效? 这是否有必要,即任何简洁而又快捷的方式,用较less的/可读的代码行来完成同样的事情? /* — * windows-specific header info * —————————- */ #ifndef WINDOWS /* -DWINDOWS not supplied by user */ #if defined(_WINDOWS) || defined(_WIN32) || defined(WIN32) \ || defined(DJGPP) /* try to […]
我正在使用正斜杠分隔path组件使用每个目录的目标在Windows上进行recursion制作。 如果有人跑 > make foo/bar 它会运行良好。 但是,如果有人跑 > make foo\bar 它不会findbuild立的目标: make: Nothing to be done for `foo\bar'. 我会喜欢它,如果我可以添加这样的东西到我的顶级Makefile: MAKECMDGOALS = $(subst \,/,$(MAKECMDGOALS)) 但是这样的事情是行不通的。 MAKECMDGOALS只能被读取。 或者,即使我可以为我所有的常规目标制作反斜杠目标,例如: $(DIRS): %: $(subst /,\,%) 但是这也是行不通的。 最好的方法是什么?
我参与了一个python应用程序,它将在Mac和Windows上运行,并与py2app和py2exe打包成可执行文件。 所有应用程序始终生成相同的随机数是非常重要的。 所以随机模块总是得到相同的种子。 然而,random.shuffle()的结果在Mac上是非常不同的。 有什么办法可以确保始终生成相同的随机数字吗? 代码是非常不起作用的: import random random.seed("ladygaga") swaplist_odd = [n for n in range(len(clipboard)) if n % 2 != 0] swaplist_even = [n for n in range(len(clipboard)) if n % 2 == 0] random.shuffle(swaplist_odd) random.shuffle(swaplist_even) 这个想法是洗牌缓冲区,并能够通过重新洗牌来重新创build原始缓冲区。 如果进程停留在一个操作系统内,则没有问题。 一旦缓冲区文件被复制到另一个操作系统,原始的重新创build失败。
怎样才能让程序使用未在Windowsregistry中列出的Python,而不是searchWindowsXX.dll的Windows系统path? 鉴于这种布局: C:\dev\bin\python.exe C:\dev\bin\python27.dll <– our version PYTHONHOME=C:\dev\apps\Python27 <– DLLs, Lib, site-packages, etc. C:\Windows\System32\Python27.dll <– incompatible version! 我们需要其他程序来使用我们的.dll,但他们首先find不兼容的系统,然后失败: SET PATH=C:\dev\bin C:\dev\apps\3rdparty\foo.exe <<fails to start>> rename C:\Windows\System32\python27.dll C:\Windows\System32\python27.dll.orig C:\dev\apps\3rdparty\foo.exe <<runs just fine>> 删除或删除系统.dll不是一个选项,以上只是为了说明。 我们可以把它转移到foo.exe去dev\bin\ ,因此可以和python27.dll一起使用,但是这会引起程序包维护的开销以及其他一些我们真正不需要处理的集成问题。