查找下一个开放端口
有什么方法,使用基本的UNIX命令来找到下一个未使用的端口号,从端口4444开始并向上延伸?我(通过OpenSSH)进入Windows XP机器,运行Cygwin工具并使用Bash Shell. 谢谢, - 戴夫 解决方案 尝试以下方法: for port in $(seq 4444 65000); do echo -ne "\035" | telnet 127.0.0.1 $port > /dev/null 2>&1; [ $? -eq 1 ] && echo "unused $port" && break; done 其中 seq 4444 65000 - port range for check echo -ne "\035" - escape character to force close telnet session (^]) 如果telnet用退出代码1结束,则表示连接拒绝: $ telnet 127.0.0.1 4444 Tryin
14 2024-04-22
编程技术问答社区
从.NET中执行一个Cygwin进程?
我正在尝试从.NET应用程序启动cygwin版本的ruby.exe,但我被卡住了. c:\>"c:\cygwin\bin\ruby.exe" c:\test\ruby.rb /usr/bin/ruby: no such file to load -- ubygems (LoadError) 您看到Ruby无法找到库,因为它正在寻找一些Linux样式路径. 显然,当我从.net运行Ruby.exe时 如果我不加载任何库,则可以正常工作: c:\>"c:\cygwin\bin\ruby.exe" -v ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] 最初是从这个cygwin.bat 开始的 chdir C:\cygwin\bin bash --login -i 我该如何首先使.net进入cygwin enviroment,然后在该环境中执行ruby? 我不能使用Windows Ruby,我需要c
10 2024-04-20
编程技术问答社区
从shell运行的ffmpeg可以正常运行,但从.NET内部调用时却不能正常运行。
我正在尝试通过使用Process类在C#程序中使用FFMPEG(用Cygwin上的Windows编译)来产生FFMPEG实例.但是,我遇到了一个相当奇怪的错误,这没什么意义. 直接从外壳运行ffmpeg(无论是cygwin的bash,powershell,cmd)时,ffmpeg可以正确解码和重新编码文件,而没有任何问题: PS C:\audio> ffmpeg -i .\sound1.wav -acodec libvorbis -f ogg abc.ogg ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers built on Apr 8 2013 15:10:40 with gcc 4.5.3 (GCC) configuration: --disable-encoder=vorbis --enable-libvorbis libavutil 52. 18.100 / 52.
8 2024-04-18
编程技术问答社区
c# cywgwin mono mkbundle windows 7 | 无法编译文件
我正在尝试按照以下帖子使用cygwin构建一个带有嵌入式的C#应用​​程序. 我在此处遵循指南:如何使用Mono和Mkbundle转换为简单的.NET控制台项目A为便携式EXE? 我收到的错误是: " gcc:删除了-mno-cygwin标志;使用mingw靶向的交叉补偿器." 我不确定如何解决这个问题 - 有人可以建议吗? 我正在使用:Windows 7 X64,Mono 2.4.3,Cygwin 7.1 Beta(用于Windows 7支持). 谢谢, Frank 解决方案 您是否尝试过更新为单声道2.6.1?我成功地使用了Win7 X64上的MKBundle来成功使用Windows表单应用程序,使用以下步骤: 下载单声道2.6.1 下载 cgywin 1.7.1 安装包装gcc-mingw,mingw-zlib和pkg-config for cgywin 启动CGYWIN并编辑.bashrc,例如c:/progra〜2/N
8 2024-04-14
编程技术问答社区
从C#/NET引用一个在GCC中针对Cygwin构建的GNU C(POSIX)DLL
这是我想要的:我有一个为Posix编写的巨大的旧版C/C ++代码库,其中包括一些非常特定的特定内容,例如Pthreads.这可以在Cygwin/GCC上编译,并在Windows下用Cygwin dll运行. 我想做的是将代码库本身构建到Windows DLL中,然后我可以从C#引用C#并在其周围编写包装器以编程访问其某些部分. 我已经尝试了这种方法,以非常简单的" Hello world"示例,请#include extern "C" __declspec(dllexport) int hello(); int hello() { printf ("Hello World!\n"); return 42; } 我相信我应该能够使用以下内容来参考C#中的上述代码构建的DLL: [DllImport("kernel32.dll")] public static extern IntPtr LoadLibrary(string dllToLoad)
10 2024-04-11
编程技术问答社区
报告显示使用Eclipse CDT的gprof "没有累计时间"。
在MINGW链接器上使用flags:-O0 -p -pg -Wall -c编译后:-O0 -p -pg -Wall -c -O0 -p -pg -Wall -c,Eclipse插件Gprof用于显示无结果.之后,我使用gprof my.exe gmon.out > prof.txt进行了CMD调用,这仅导致报表仅呼叫函数的次数. Flat profile: Each sample counts as 0.01 seconds. no time accumulated % cumulative self self total time seconds seconds calls Ts/call Ts/call name 0.00 0.00 0.00 16000 0.00 0.00 vector_norm 0.00 0.00
14 2024-04-10
编程技术问答社区
用gcc编译C程序;无法打开输出文件_.exe:没有此类文件或目录
我刚刚开始尝试在C中进行编程,并且我已经下载了各种IDE和编译器,似乎没有任何作用.当我尝试编译程序时,Cygwin一直给我这个错误: C:\Users\Paul\Documents\Timmy λ gcc -o nutt nutt.c /usr/lib/gcc/x86_64-pc-cygwin/6.4.0/../../../../x86_64-pc-cygwin/bin/ld: cannot open output file nutt.exe: No such file or directory collect2: error: ld returned 1 exit status. 这是我的程序 #include int main(void) { printf("y"); return 0; } 我还想指出,当我尝试使用记事本或记事本++中的"另存为"功能时,我会有这个奇怪的问题.当我尝试以这种方式保存某些东西时,它将带来一条错
12 2024-04-10
编程技术问答社区
在VS 2013和Cygwin中使用fork()
我正在尝试编写一个C程序,该程序将在Visual Studio 2013中使用fork()和Wait().我已经下载并安装了Cygwin,但是我无法配置Visual Studio来使用适当的标头文件.我是IDE的新手,我想知道这个社区是否可以帮助我弄清楚我在哪里犯了一个错误. 启动新项目时,这就是我要做的: 创建新的Visual C ++ Win32控制台应用程序 将新的main.c源文件添加到项目 右键单击项目属性和配置包括目录 包括cygwin目录:c:\ cygwin64 我已经对要配置属性的位置进行了屏幕截图,以防万一我犯了错误的地方: 我的代码很简单,因为我只是想在这一点上运行它: #include int main() { int i; i = fork(); if (i == 0) { printf("I am the child."); } else {
22 2024-04-10
编程技术问答社区
Eclipse不会运行C语言程序
我刚刚在Windows 8中安装了用于Eclipse的CDT插件,我会遇到错误: "启动失败.找不到二进制." 现在,我已经研究了这一点,并且已经使用GCC安装了Cygwin,并在Eclipse设置中进行了设置.我去了Window>Preferences>New C/C++ Project Wizard>Makefile项目并检查了Cygwin PE Parser(以防万一我还检查了PE Windows Parser). 然后我去了Window>Preferences>Build>Environment,然后在那里添加了路径变量.我确保在系统设置中的路径中添加C:\cygwin64\bin,我知道这是有效的,因为我检查了该位置,并且我已经成功地通过命令行运行gcc以及cygwin终端.最重要的是,如果我在Eclipse中构建我的项目,然后导航到Eclipse之外的该目录并运行它通过双击它创建的.exe,它也可以正常运行. . 我为为什么Eclipse无法运行它,
6 2024-04-10
编程技术问答社区
在使用MinGW/长双的CodeBlocks中,长双被错误地打印。
问题: 使用cygwin的我的代码工作很好(打印了长双重,就像具有16个字节的内存,最小值和最大值还可以),但是使用mingw codeblocks说,长双人双重的内存具有12个字节(如果我修改了该数字代码显示尺寸以int长double表示,长double是-2,000000),最小值和最大值的打印为-0,000000. CodeBlocks版本:20.03. mingw-w64项目(版本8.1.0,32/64位,seh). 我尝试了提示,但是是同一回事! 我在一篇文章中看到此问题是由Windows生成的,但是如果它与Cygwin一起使用,那么有一个解决方案也许有人知道... 观察: 我可以使用cygwin,但是葡萄牙语中有很多重音单词,我用它们来命名我的目录,因此当我使用Cygwin时,事物很复杂,我不知道如何包括一些像Conio这样的libs. h正确,mingw包括conio.h等libs.h,所以我更喜欢学习如何解决此问题. #incl
14 2024-04-09
编程技术问答社区
使用64位GCC在Cygwin上编译64位GSL
我正在尝试在Windows 7机器上编译64位GSL.这是我采取的步骤: 已下载并取消了GSL 1.15源,找到在这里p> 测试了我通过编译最小程序 在Cygwin Shell中有64位版本的GCC. // simple.C int main() { ; return 0; } 使用 x86_64-w64-mingw32-gcc -m64 simple.C -o simple 在未二线文件夹中,我想将x86_64-w64-mingw32-gcc编译器传递到./configure,但不确定如何.我看了configure文件,但这很大,似乎是使用autoconf. 生成的 解决方案 在Cygwin提示下您可以使用: CC=x86_64-w64-mingw32-gcc CFLAGS=-m64 ./configure 和配置将拾取它. 重要说明: 我很惊讶您没有包装器gcc ...为什么不尝试使用./confi
8 2024-04-09
编程技术问答社区
如何在一定时间内自动调用一个函数?
嗨,我正在编写一个C程序来连接一个串行设备,该串行设备定期提供数据,我需要定期寻找串行端口的输入.这可以通过"读取"功能来完成.但是我不知道如何以固定的时间间隔经常调用它? 解决方案 这种行为短路缩短了大多数OS内置的可爱机械,无法做到这一点,而失败的是像Cron这样的东西似乎是一个可爱的选择.失败了所有这些(如果您只是在寻找快速的骇客选项)忙碌的等待并不超过,该系统不足以使您的程序过于愉快,因此您的程序会在整个过程中不做任何事情.您的程序,尽管这主要是一个品味问题,但我本人是纳米腿的人. 在NIX/NUX系统上: #include int main(void) { struct timespec sleepytime; sleepytime.tv_sec = seconds_you_want_to_sleep sleepytime.tv_nsec = nanoseconds_you_wa
8 2024-04-09
编程技术问答社区
多个目标模式?
我正在尝试编译一个C文件,其中我包括了Mongo数据库的驱动程序.我可以从Cygwin成功编译它,但是当我转向Netbeans时,我会明白这一点.我应该提到,只有在c编译器的其他选项中添加" -std = c99"后才发生. 更新: 成功地从Netbeans编译了它.但是" -STD = C99"让我发疯.如果有的话,请说(如果我不删除OBJ文件,则每次汇编之后): build/Debug/Cygwin_4.x-Windows/main.o.d:1: *** multiple target patterns. Stop. 更新: main.o.d的内容是: build/Debug/Cygwin_4.x-Windows/main.o: main.c \ c:/mongodb-driver/src/mongo.h c:/mongodb-driver/src/bson.h \ c:/mongodb-driver/src/platform.h c:/mong
6 2024-04-09
编程技术问答社区
Cygwin gcc-asm错误。
我有一个最初在Linux上完成的项目,但现在必须在Windows上完成.代码的一部分包括在几个地方 asm("movl temp, %esp"); ,但这会导致" temp'"错误"不确定的引用". 这没有GCC 4.3.2编译器(在另一台计算机上测试)在Linux上进行编译,这是我在Cygwin上的版本.有其他方法可以完成这一行正在做什么吗? 解决方案 您需要从 更改Cygwin版本 asm("movl temp, %esp"); to asm("movl _temp, %esp"); 是的,它是相同的编译器和汇编程序,但它们的设置方式不同以与主机系统兼容. 您可以通过简单地告诉GCC使用一个特定名称来隔离系统依赖性符号: int *temp asm("localname"); ... __asm__("movl localname,%esp"); 这避免了某种形式的#if并删除主机OS依赖性,但添加了编译器依赖性.说到编译器扩
14 2024-04-09
编程技术问答社区
为什么mpirun不尊重我对BTL的选择?
我在Windows 7机器上使用Cygwin上的开放MPI(1.8.3).我想仅在任何外部网络上交谈,在该计算机上运行MPI代码.我知道我应该能够使用MCA选项将mpirun限制为自我和共享内存通信: mpirun -n 8 --mca btl sm,self ./hello.exe 但是,当我尝试此操作时,Windows问我是否想制作防火墙例外,表明我的工作试图通过TCP进行外部交谈.此外,当我在Hello World Job完成之前,Mpirun将悬挂大约一分钟,然后才完成,并且仅当我在无线网络上.如果我关闭无线卡或切换到有线以太网连接,则可以在一秒钟内按预期完成. 为什么mpirun不观察我对BTL的选择? 解决方案 为什么mpirun不观察我对BTL的选择? 绝对可以观察到您选择的BTL.但是还有另一个框架,即OOB,默认情况下也使用TCP.您应该禁用两个框架的tcp组件,以防止打开MPI完全使用TCP: mpirun -n 8 --mca
8 2024-04-09
编程技术问答社区
在Windows上运行libxlsxwriter
我正在尝试使用libxlsxwriter,但是我似乎可以正确编译或正确运行. 我遵循Windows的指示,使用Mingw-w64和msys2在此处可用:. 我从他们的网站安装msys2,并使用pacman -Syu更新了所有内容.然后我安装了zlib建议: # Install the dev tools for libxlsxwriter. pacman -S git gcc make zlib-devel 然后我运行代码以下载和编译libxlswriter: # Clone and build libxlsxwriter. git clone https://github.com/jmcnamara/libxlsxwriter.git cd libxlsxwriter/ make make install # run example cd .. cc myexcel.c -o myexcel -lxlsxwriter -lz 现在有一个名为myexcel
18 2024-04-09
编程技术问答社区
cygwin $'\r': 命令未找到错误
我对项目进行了一些修改,在调试下效果很好.当我尝试构建它而无需调试时,它显示错误,无法修复它. $ make Making all in third_party make[1]: Entering directory '/cygdrive/c/Users/alimjan/Documents/fast-hlground/slim-2.2.7/third_party' Making all in zdelta-2.1 make[2]: Entering directory '/cygdrive/c/Users/alimjan/Documents/fast-hlground/slim-2.2.7/third_party/zdelta-2.1' gcc -DHAVE_CONFIG_H -I. -I../../src -Wall -export-dynamic -O3 -fopenmp
18 2024-04-08
编程技术问答社区
在cygwin上编译hsdis(Java HotSpot反汇编插件)时,错误的reloc地址0x0
我正在尝试编译JVM需要拆卸JIT编译的代码的hsdis-amd64.dll库. 我遵循/p> 我安装了cygwin 下载 OpenJDK-7U40-FCS-SRC-B43-26_AUG_2013.ZIP 并下载 我创建了这样的文件夹结构: + +- hsdis // unzipped dir hotspot/src/share/tools/hsdis of openjdk zip +- binutils-2.24 // unzipped binutils-2.24.tar.gz 首先,我尝试使用以下方式对其进行编译: $ make OS=Linux MINGW=x86_64-w64-mingw32 BINUTILS=../binutils-2.24 ,但 失败了 /Linux-amd64/opcodes/libopcodes.a build/Linux-amd64/libiberty/libiberty.a hsdi
8 2024-04-08
编程技术问答社区
在cygwin上编译hsdis(Java HotSpot反汇编插件)时,错误的reloc地址0x0
我正在尝试编译JVM需要拆卸JIT编译的代码的hsdis-amd64.dll库. 我遵循/p> 我安装了cygwin 下载 OpenJDK-7U40-FCS-SRC-B43-26_AUG_2013.ZIP 并下载 我创建了这样的文件夹结构: + +- hsdis // unzipped dir hotspot/src/share/tools/hsdis of openjdk zip +- binutils-2.24 // unzipped binutils-2.24.tar.gz 首先,我尝试使用以下方式对其进行编译: $ make OS=Linux MINGW=x86_64-w64-mingw32 BINUTILS=../binutils-2.24 ,但 失败了 /Linux-amd64/opcodes/libopcodes.a build/Linux-amd64/libiberty/libiberty.a hsdi
10 2024-04-08
编程技术问答社区
用CygWin进行C插座编程
嗨 我正在尝试使用Cygwin在C中编写一个小服务器/客户端程序,问题是,Cygwin中的GCC编译器似乎不包含与套筒编程相关的标准标头.尝试编译我的服务器程序时,我会得到: netinet/in.h: No such file or directory sys/socket.h: No such file or directory netdb.h: No such file or directory 这三个标头是否位于Cygwin-Envierment? 的其他地方 解决方案 我也有同样的问题..我在谷歌搜索了几个小时,终于找到了这个...感谢拉尔夫... 对于套接字命令,您必须在安装cygwin中包含一些软件包... (如果您已经安装了重新安装...) 安装期间: 在安装的"选择软件包"阶段. 展开Devel 选择C和C ++的GNU编译器 4.单击下一步并完成安装. 现在,尝试使用涉及系统/套接字的套接字程序. 我希望它会起作用
6 2024-04-08
编程技术问答社区