草庐IT

D_GNU_SOURCE

全部标签

linux - 是否可以查看 ksh 函数的 "source"?

我们的ksh环境定义了几个函数。可以使用typeset-fksh命令(或functions别名)列出这些函数的名称。是否可以查看这些函数的定义(即源代码)?这似乎是一个显而易见的问题,但我已经尝试了所有方式的参数来typeset-f但没有成功。举个例子(在Linux上):$foo()>{>echofoo>}$foofoo$typeset-ffoofoo$对于环境中默认定义的一些(但不是全部)其他函数,typeset-f确实显示了源。更新1:这发生在Linux内核2.4.21-32更新2:更新2:Ctrl-V给出“版本M1993-12-28n+”-看起来这是一个相当旧的版本,因此可能没有

linux - 如何避免二进制文件中的 STT_GNU_IFUNC 符号?

我需要部署到RedHat4.1.2box(它有gcc4.1.2)。我在Ubuntu11.10上使用GCC4.6.1进行开发。不幸的是,我的构建过程创建的一些二进制文件在RedHat机器上不可用。原因似乎是ABI更改,根据anotherStackoverflowquestion由于引入了STT_GNU_IFUNC符号。有没有办法阻止导出任何此类符号,以便我的二进制文件可以使用旧的ABI?我使用nm在我的二进制文件中查找任何“i”类型的符号,但没有找到。我问这个是因为我的其他一些二进制文件以及我构建的一些第3方库(tbb、boost)没有使用新的ABI,因此在RedHat机器上运行良好。希

linux - 如何使用旧内核为 GNU/Linux 安装构建静态二进制文件?

$printf'intmain(){}'|gcc-static-xc--ohello$scphellovi-server.org:./hello100%565KB565.2KB/s00:00$ssh-tvi-server.org"./hello;uname-r"FATAL:kerneltoooldsh:line1:15378Segmentationfault./hello2.6.18-274....#can'teasilyupgradethekernelConnectiontovi-server.orgclosed.如何构建可在旧系统上运行的静态二进制文件?我希望静态二进制文件甚至可以

将毫秒转换为 GNU 端口的时间规范

我想将毫秒转换为GNULinux使用的timespec结构。我已尝试使用相同的代码。timespecGetTimeSpecValue(unsignedlongmilisec){structtimespecreq;//longsec=(milisecondtime/1000);time_tsec=(time_t)(milisec/1000);req->tv_sec=sec;req->tv_nsec=0;returnreq;}运行此代码会出现以下错误。expected‘=’,‘,’,‘;’,‘asm’or‘__attribute__’before‘GetTimeSpecValue’我还在代

linux - Shell GNU-Screen -X Stuff 问题

OPTIONS="java-Xms1024M-Xmx1024M-jarcraftbukkit.jar"PROCESS=server01screen-dmS$PROCESS$OPTIONSnogui#Startingtheapplicationscreen-x$PROCESS-Xstuff`printf"stop\r"`#Closingtheapplicationscreen-x$PROCESS#Attachingtotheterminaloftheapplication该应用程序在开始时运行良好,但是我在使用stuff'printf"stop/r"'时遇到问题刚启动的时候好像不行,等了

linux - GNU 链接器 : alternative to --version-script to list exported symbols at the command line?

在使用GNU工具链的Linux上,我知道如何使用版本脚本(gcc-Wl,--version-script=symbols.map)控制从共享库导出的符号,但我想列出导出的符号命令行代替。IOW,我想要相当于link/EXPORT:foo来自MS工具链。可能吗?编辑:我的问题可能不是很清楚:如果我有一个库libfoo.so,我只想导出库foo1和foo2,我可以创建一个版本脚本foo.linux,如下所示libfoo.so{global:foo1;foo2;local:*;}然后做gcc-sharedfoo.c-Wl,--version-script=foo.linux-olibfoo.

c++ - eclipse CDT : 'can' t find a source file' while debugging

我使用Eclipse和CDT进行C++开发。但是,我不得不在源文件的路径中使用ASCII符号来成功调试我的程序。当源文件位于名称中包含非英文字符的文件夹中时,Eclipse会报错:Can'tfindasourcefileat"/home/\321\202\320\265\321\201\321\202/1.cpp"Locatethefileoreditthesourcelookuppathtoincludeitslocation.是否有任何选项可以让Eclipse进行正确的Unicode处理? 最佳答案 也许将您的代码移动到位于根目

linux - 如何将参数传递给 source 命令调用的脚本?

我正在通过source命令调用脚本并想将参数传递给脚本。我检查了mansource,bash返回::[arguments]Noeffect;thecommanddoesnothingbeyondexpandingargumentsandperforminganyspecifiedredirections.Azeroexitcodeisreturned.sourcefilename[arguments]Readandexecutecommandsfromfilenameinthecurrentshellenvironmentandreturntheexitstatusofthelastc

c - 在 GNU C 内联汇编中编写 Linux int 80h 系统调用包装器

这个问题在这里已经有了答案:Howtoinvokeasystemcallviasyscallorsysenterininlineassembly?(2个答案)关闭3年前。我正在尝试使用内联汇编...我读了这个页面http://www.codeproject.com/KB/cpp/edujini_inline_asm.aspx但我无法理解传递给我的函数的参数。我正在写一个C写的例子..这是我的函数头:write2(char*str,intlen){}这是我的汇编代码:globalwrite2write2:pushebpmovebp,espmoveax,4;sys_writemovebx,

c - 如何在 Windows 上构建 gnu `libiconv`?

我想建立一个静态库(*.LIB文件)GNUlibiconv在Windows上与VisualC++中的其他库一起使用。我使用的其他库是使用“多线程DLL”(/MD)运行时选项构建的。因此,我需要使用相同的选项构建libiconv。问题是libiconv使用GNU构建系统,我想使用/MD选项进行编译。您可以在这里查看libiconv的源代码结构:http://cvs.savannah.gnu.org/viewvc/libiconv/?root=libiconv先生。Zlatkovic为libxml2维护GNUlibiconv的Windows端口你可以在这里看到它们:ftp://xmlsof