我目前正在关注本教程 ,但我不是该学校的学生。 GDB thread_start上的thread_start给出了一个分段错误: movq %rsp, (%rdi) # save sp in old thread’s tcb 这是我回溯时的附加信息: #0 thread_start () at thread_start.s:16 #1 0x0000000180219e83 in _cygtls::remove(unsigned int)::__PRETTY_FUNCTION__ () from /usr/bin/cygwin1.dll #2 0x00000000ffffcc6b in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) 作为一个新手,我不能为我的生活找出原因。 这是我的主要文件: #define STACK_SIZE 1024*1024 //Thread TCB struct thread { unsigned char […]
我一直在尝试使用Cygwin和MinGW在Windows 7中安装/编译C库。 但是,我在make期间遇到这样的错误: sys/resource.h: No such file or directory sys/times.h: No such file or directory 我之前认为这可能是特定库的一个问题,并在这里问: 在Visual Studio 2010和Cygwin / MinGW中安装igraph的各种问题(“sys / time.h not found”) ,但在遇到与不同库相同的错误后,我认为问题在于我。 尝试 cygwin/usr/include/sys/times.h和cygwin/usr/include/sys/resource.h存在。 在获得有关符号链接的建议后,我使用了ln -s /usr/include/sys sys来确保sys/times.h有效。 我去看一个特定库(igraph)的make输出。 它说它进入了一个“src”文件夹。 所以,我去了src文件夹并做了同样的事情: ln -s /usr/include/sys sys并确保sys/times.h也在src文件夹中工作。 但是,我仍然得到: fatal error: sys/times.h: No such file or directory 题 如何设置make的“路径”以在/ usr / include / sys文件夹中查找“sys […]
我在Windows 7 64位上使用Cygwin下的GCC v4.9.2,但遇到了试图编译uWSGI的问题。 我收到的错误是 – gcc: error: unrecognized command line option ‘-rdynamic’ GCC版本输出 – $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/lto-wrapper.exe Target: x86_64-pc-cygwin Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-4.9.2-3.x86_64/src/gcc-4.9.2/configure –srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-4.9.2-3.x86_64/src/gcc-4.9.2 –prefix=/usr –exec-prefix=/usr –bindir=/usr/bin –sbindir=/usr/sbin –libexecdir=/usr/libexec –datadir=/usr/share –localstatedir=/var –sysconfdir=/etc –libdir=/usr/lib –datarootdir=/usr/share –docdir=/usr/share/doc/gcc –htmldir=/usr/share/doc/gcc/html -C –build=x86_64-pc-cygwin –host=x86_64-pc-cygwin –target=x86_64-pc-cygwin –without-libiconv-prefix –without-libintl-prefix –libexecdir=/usr/lib –enable-shared –enable-shared-libgcc –enable-static –enable-version-specific-runtime-libs –enable-bootstrap –enable-__cxa_atexit –with-dwarf2 […]
我在cygwin windows上编写C语言。 在完成了一些C编程并熟悉语言后,我想深入了解编译器为我编写的代码做了些什么。 所以我写下了一个包含switch case语句的代码块,并使用以下方法将它们转换为汇编: gcc -S foo.c 这是C源: switch(i) { case 1: { printf(“Case 1\n”); break; } case 2: { printf(“Case 2\n”); break; } case 3: { printf(“Case 3\n”); break; } case 4: { printf(“Case 4\n”); break; } case 5: { printf(“Case 5\n”); break; } case 6: { printf(“Case 6\n”); break; } case 7: […]
如何从静态库创建共享对象文件? 我正在使用Cygwin。 以下语法是否正确? gcc -shared -o libexample.so libexample.a
我开发了一种嵌入式解决方案,通过Multi Drop Bus进行通信,现在我想开发一个基于PC的应用程序来监控总线上的流量。 MDB supports true 9 data bits (plus start/stop/parity – and *no fudging* by using the parity bit as a 9th data bit)而标准Windows和Linux库提供最多8个数据位。 我有一个支持9位数据的StarTech PCI2S950 PC串口卡,但我不确定如何编写我的监控应用程序并且搜索了很多东西,但没有用。 我更喜欢用C(或Delphi,或C ++)编写代码。 我对Cygwn略有偏好,但我愿意使用简单的Windows或Linux。 通过该PC串行端口卡读取/写入9个数据位的任何内容。 有人可以帮忙吗?
我有一个C文件的静态库,在Cygwin上用g ++编译。 我希望unit testing库中定义的一个函数。 该函数调用该库中定义的另一个函数,我希望覆盖依赖项以将其替换为我自己的该函数版本。 我无法修改静态库中的内容,因此此解决方案[ 覆盖C中的函数调用 ]不适用。 通常,我可以编写一个.cpp文件并包含.c文件,其中包含我想要unit testing的函数,它实际上使用我添加的代码扩展了该文件。 这是一个我从未用于生产代码的肮脏技巧,但它对于unit testingC文件很方便,因为它使我的测试代码可以访问该C文件中的静态内容。 然后,我可以编写我的假依赖项版本,以及调用我正在测试的函数的unit testing函数。 我编译my.cpp来获取my.o,然后将其与静态库链接。 从理论上讲,由于链接器已经找到了依赖关系的定义(我提供的那个),因此它不会在库中查找,也不会发生冲突。 通常这可行,但现在我得到一个“多重定义”错误,链接器首先找到我的假,然后找到真正的假。 我不知道是什么原因引起的,不知道该找什么。 我也不能把它归结为一个简单的例子,因为我的简单例子没有这个问题。 想法好吗?
我目前无法编写好的makefile而且不知道为什么.. -.- 这是我的主要内容: #include #include int main(int argc, char *argv[]) { printf(“MEEEEEP”); return (0); } 这是我的makefile: # make SYSTEM= OS= ENVIRONMENT= # Binaries to use ifeq ($(ENVIRONMENT),MINGW) CXX = i686-pc-mingw32-g++ else CXX = g++ endif REMOVE = rm -vf RC = windres EXE = .exe ############################################################# # Info ifeq ($(CXX),g++) INFO_CXX = g++ -dumpversion; g++ […]
我目前正在尝试安装NIST的sclite ,它是SCTK 2.4.0( github或更新版本 )的一部分。 我正在尝试在bash安装Cygwin 。 安装使用make完成。 我做了什么 我为安装创建了一个目录并导航到该目录 mkdir sctk2.4.0 cd sctk2.4.0 (你可能需要$ cd /path/to/dir/sctk2.4.0 。) 我从github克隆了这个项目 git clone https://github.com/chinshr/sctk.git 导航到基础文件夹 cd sctk 然后我开始按照INSTALL文件中的说明操作。 运行 make config 工作得很好,但打字后 make all 我得到了后面的输出 (mkdir -p bin) (cd src; make all) make[1]: Entering directory ‘/cygdrive/c/David/programs/sctk2.4.0/sctk/src’ (cd asclite; make all) make[2]: Entering directory ‘/cygdrive/c/David/programs/sctk2.4.0/sctk/src/asclite’ (cd core; make […]
我试图使用Cygwin在Windows 7中安装/编译诸如igraph和SNAP之类的库(并且还尝试了MinGW-MSYS)并且遇到了一些问题。 我想我已经将问题缩小到./configure给出的错误: checking sys/times.h usability… no checking sys/times.h presence… no checking for sys/times.h… no 在Cygwin中,/ /usr/include/sys/times.h确实存在。 我为MinGW搜索了这个,似乎sys / times.h不适用于MinGW,因为“ POSIX / BSD”次“函数不是ANSI标准的一部分,并且在Mingw32运行时不存在 ”。 作为一个实验,我尝试使用gcc在Cygwin中编译这个C代码: #include #include int main (void) { return 0; } 这不编译,错误sys/times.h no such file or directory 。 即使我将include更改为或也会发生这种情况。 在Cygwin命令中,adv /usr/include/sys/times.h正常工作。 题 我如何获得sys / times.h的可用性和存在感? 我可以安装包或库吗?