问题标签 [cygwin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
203 浏览

bash - cygwin互操作问题

我不太确定如何搜索以便自己找到答案的几个 Cygwin 问题:

问:我跑步的时候

在我的 cygwin 安装中,它不指向我预装的 windows 安装,它指向 cygwin 之一。我怎样才能改变它,使它指向我基于Windows的 perl 安装:

问题:当我查看调用 cygwin 的桌面快捷方式时,它指向 bash:

我找不到允许的命令行标志的文档。具体来说,我想找到一个允许我传入预定义用户命令的标志,这样当 cygwin 启动时,该命令会自动调用,而无需我输入。

这是我想定期定制的东西,所以把它放在 .bash_profile 或类似的东西中效率不高。如果可能的话,我希望能够从命令行指定它。

0 投票
6 回答
10910 浏览

unicode - 将文件保存为 unicode 的脚本

你知道我可以以编程方式或通过脚本将一组以 ansi 字符编码保存的文本文件转换为 unicode 编码的方法吗?

当我用记事本打开文件并选择将其保存为 unicode 文件时,我想做同样的事情。

0 投票
6 回答
8032 浏览

python - 有人在 Cygwin 上安装 MySQLdb for Python 吗?

我正在尝试在 Cygwin 上安装 MySQLdb for python。不幸的是,当我运行时python setup.py build,我收到以下错误:

显然我没有mysql_config安装,我猜这是问题所在。MySQLdb 的自述文件中提到了这一点,但它没有解释如何绕过它或如何安装 mysql_config。

所以也许这很简单:如何mysql_config为 Cygwin 安装?

或者可能比这更难。

仅供参考:我有 python 2.5.2 和 MySQL 5.1.30,在 Cygwin 下运行。

0 投票
1 回答
823 浏览

g++ - Magick++ 和 cygwin 的 g++ 问题

当我尝试使用 Magick++ 和 cygwin 编译一个简单的 c++ 文件时,我不断得到这个结果:

我通过 cygwin gui 设置安装了 ImageMagick。

0 投票
3 回答
8269 浏览

bash - 如何从 bash 脚本终止 Cygwin bash 中脚本的进程树

我有一个 Cygwin bash 脚本,我需要在某些条件下监视和终止它 - 特别是在创建某个文件之后。但是,我很难弄清楚如何以与 Ctrl+C 相同的完整性级别来终止脚本。

这是一个简单的脚本(称为test1),它只是等待被终止。

如果此脚本在前台运行,Ctrl+C 将终止tail脚本本身和脚本本身。如果脚本在后台运行,a kill %1(假设它是作业 1)也将终止tail脚本。

但是,当我尝试从脚本做同样的事情时,我发现只有bash运行脚本的进程被终止,而tail挂起与它的父进程断开连接。这是我尝试的一种方法(test2):

如果运行它,后台运行的 bash 子shell 会正常终止,但tail仍会挂起。

如果我像这样使用显式单独的脚本,它仍然不起作用(test3):

tail运行此脚本后仍在徘徊。

在我的实际情况下,创建文件的过程并不是特别有用,所以我不能让它自行终止;但是,通过找出它何时创建特定文件,我可以知道终止它是可以的。不幸的是,我不能使用简单的killall或等效的,因为可能有多个实例正在运行,我只想杀死特定的实例。

0 投票
5 回答
23937 浏览

bash - 如何限制 BASH 脚本的运行时间

我有一个长时间运行的 BASH 脚本,我在 Windows 上的 CYGWIN 下运行。

我想限制脚本运行 30 秒,如果超过此限制,则自动终止。理想情况下,我希望能够对任何命令执行此操作。

例如:

或者

在 cygwin 下 ulimit 命令似乎不起作用。

我对任何想法持开放态度。

0 投票
11 回答
8830 浏览

c - Windows下用cygwin编译的C程序,Linux下的segmentation fault。cygwin GCC“坏”吗?

对于我的 Programming 102 课程,我们被要求提供可在 Linux 下编译和运行的 C 代码。我的硬盘上没有足够的空闲空间来安装 Linux 和 Windows,所以我使用 cygwin 来编译我的程序。

我必须提供的最新程序在 cygwin 下编译并运行良好。它在 Linux 下编译良好,但执行到一半会产生分段错误。我向给我们上课的研究生解释了这一点,他说 cygwin 的 GCC 版本允许编译和执行更草率的代码。

我通过谷歌找到的少数参考资料还没有定论。我发现的一个线程说Linux下seg错误的原因是内存泄漏。为什么这不会影响 cygwin 版本?

我会使用大学的计算机,但我不能在它们上使用 Subversion,这会严重阻碍我的努力。(我是编码新手,经常需要能够恢复到 X 之前的版本)。

cygwin 的 GCC 版本对它编译的代码真的更“宽松”吗?如果是这样,编码时是否有任何明显的问题需要注意?有没有其他方法可以编写在 Linux 下运行的代码?

编辑

感谢您的回复。我在原始帖子中不够明确:我的代码中有一个错误对我来说几乎是给定的(我对编程很陌生,毕竟在谈到 C 时真的很绿色)。我的 TA 暗示 cygwin 的 GCC 是一个不太可靠的编译器 - 允许运行更草率的代码 - 比在 GNU/Linux 下找到的编译器要低。我发现这很奇怪,所以在互联网上进行了搜索,但实际上找不到任何关于该事实的参考资料。

除了将编译器与我的代码归咎于我之外,我还想知道程序在 Windows 下运行并在 Linux 下崩溃的原因是什么。回复:Windows/Linux 下的不同内存管理器和堆/堆栈布局在这方面进行了说明。

cygwin 的 GCC 与 GNU/Linux 一样“好”的结论会不会非常正确?

关于发布源代码,这是一项家庭作业,所以如果可能的话,我宁愿自己找到问题:)

编辑 2

我已经接受了 jalf 的回答,因为它谈到了是什么让程序在 Windows 下而不是在 Linux 下运行,这是我真正想知道的。感谢所有做出贡献的其他人,他们都是非常有趣且内容丰富的回复。

当我发现问题并修复它时,我将上传一个包含这个非工作版本的所有源代码的 zip 文件,以防有人好奇我到底做了什么:)

编辑 3

对于那些有兴趣看代码的人,我发现了问题,并且确实是由于指针。我试图从函数返回一个指针。我试图返回的指针是在函数内部声明的,所以一旦函数执行就被销毁。有问题的代码在第 22-24 行被注释掉。

随意嘲笑我的代码。

0 投票
9 回答
6351 浏览

python - 如何集成 Django 和 Cygwin?

我有一个安装了 cygwin、python 和 django 的 Windows 机器。

现在我想运行 django-admin,但是当我这样做时,我得到了错误:

0 投票
3 回答
8965 浏览

eclipse - 如何让 Eclipse 为 Cygwin 的 GDB 提供可执行文件的 posix 路径?

我在 Windows 上使用 Eclipse 使用 Cygwin 的工具链对 C++ 进行编程。我也想用它来调试,但我的问题如下:

  • 要调试的可执行文件位于工作区的子文件夹中(我猜这很标准),但不在构建可执行文件的实际项目中。
  • Eclipse 和 GDB 有不同的路径格式:Eclipse 使用 Windows 路径,而 GDB 使用 posix 路径。Eclipse 知道D:\Path\To\Exe,而 GDB 需要/cygdrive/d/Path/To/Exe.
  • 当我在“调试配置...”对话框中输入路径时,Eclipse坚持认为它可以找到要调试的可执行文件。在路径正确之前,“调试”按钮将被禁用。
  • Eclipse 似乎没有接受${workspace_loc}那个特定的输入框。

是否有一些我不知道的隐藏选项?你以前有过这个问题吗?

到目前为止我尝试过的

  • 强制 Eclipse 将我输入的路径传递给 GDB ---不起作用。
  • 摆弄源查找路径和路径映射 ---不起作用,它实际上只适用于源文件。
  • 为可执行文件所在的输出文件夹创建一个 C++ 项目,这样我就可以在项目中拥有一个指向 exe 的相对路径 ---不起作用。

我仍然可以尝试的事情

  • 使用该.gdbinit文件丢弃 Eclipse 给出的路径并使用 posix 路径加载真正的可执行文件 --- 尝试过,但不是很难。
  • 将包装器指定为 GDB 的参数 --- 污染了我的工作空间的根。
  • 提供我自己的插件来处理案例---添加另一段代码以另一种语言维护。
0 投票
2 回答
1586 浏览

cygwin - Cygwin 中的 Make/Execvp 错误:

在尝试进行增量构建时,make 中会出现以下错误:

make[2]: execvp: C:/path/to/compiler.exe: 消息太长

我怀疑我的问题是 execvp 的参数长度。知道那个限制是什么吗?如何改变这一点?

一些奇怪的额外信息:当先前的 make 依赖项位于名称较短的文件夹中时,相同的命令会成功。execvp 可用的内存量是否受先前命令的某种影响?

例如,从增量构建文件(其中有数百个)的路径中删除 17 个字符可以节省大约 12k 个字符,并且编译器的 6k char 命令行成功。如果不减少该路径,相同的命令行将失败。