【使用VS+VisualGDB编译调试Linux程序】教程文章相关的互联网学习教程文章

arch-linux – C在Arch Linux中编译,在存储库中没有g包【代码】

我想在Arch Linux中编译一个C程序,但是没有像Ubuntu存储库那样的“g”软件包. 使用-x也行不通.像这样:gcc -x c++ -o myprog myprog.cpp解决方法:gcc既是C编译器又是C编译器.它将相应地查看文件的扩展名和进程.g只是一个调用gcc的包装器g与Arch中的gcc包一起安装gcc file.C # uppercase .C (or .cpp) will process as C++ gcc file.c # lowercase .c will process as C

linux-kernel – 如何将额外的文件编译到Android ROM的根目录中

我正在构建一个基于Cyanogenmod ROM内核源代码的自定义Android内核.我想将文件夹和文件添加到操作系统的根文件夹中(/).例如,在编译了我的内核之后,我想要创建一个名为toto(absolute path = / toto)的额外文件夹. 我真的不知道哪些文件需要编辑以及如何进行工作. 注意:如果您是想要将文件添加到rootfs的Android用户(不是ROM开发人员),请参阅the relevant Android.SE question.解决方法:在Android上,就像许多基于Linux的系统一样,内...

linux – 使用交叉编译的Valgrind【代码】

我已经从Valgrind主干下载了源代码,并将其构建用于在ARM926(ARMv5t架构)支持的嵌入式Linux系统(Montavista Linux)上使用.一切顺利,直到我试图运行它来检查我做的一些应用程序; Valgrind告诉我: “valgrind:未能为平台’arm-linux’启动工具’memcheck’:没有这样的文件或目录”. 尝试运行任何其他工具会给出相同的消息.对于make install,我使用了–prefix选项指向通过NFS挂载的嵌入式系统的文件系统(例如–prefix = / home / NF...

linux – 如何继续编译?

我知道我可以随时中断make进程而无需再次重新编译整个源代码树.据我所知,如果目标尚未编译,则仅编译目标,或者在最后一次编译后修改源代码.但是,如果我中断make,肯定会有一个或多个(取决于并发级别)半就绪二进制文件.下次我运行make时它对它们有什么作用?或者,当我按下Ctrl C以避免部分编译的二进制文件时,它是否完成当前目标?解决方法:简单来说,您可以将make视为具有(可能很大)步数,其中每个步骤将许多文件作为输入并创建一个文件...

如何测试Linux二进制文件是否编译为位置无关代码?【代码】

我最近了解到(至少在Fedora和Red Hat Enterprise Linux上),编译为位置无关可执行文件(PIE)的可执行程序可以获得更强的地址空间随机化(ASLR)保护. 那么:如何在Linux上测试特定可执行文件是否被编译为位置独立可执行文件?解决方法:您可以使用加固检查包available in Fedora和Debian中包含的perl脚本(作为加固包含).有关检查编译标志的详细信息,请阅读此Debian wiki page.这是Debian特有的,但该理论也适用于Red Hat. 例:$hardening...

如何从头开始编译C编译器,然后从头开始编译Unix / Linux

假设我在美国/英国以外的大型服务机构工作.我们广泛使用UNIX和Linux服务器. 阅读this article它提到将后门插入C编译器很容易,然后用该编译器编译的任何代码也将包含后门.现在鉴于最近有关NSA / GCHQ要求在所有加密方法,硬件和软件中加入后门/弱点的漏洞,编译器现在是一个关键的失败点.可能所有标准的UNIX / Linix发行版都会受到攻击.我们不能让流氓政府妥协我们的系统,数据和客户数据. 鉴于这些信息,我想从头开始构建一个可靠的编译...

linux环境下tesseract4.1的编译安装【图】

由于公司新的产品需要深度集成tesseract,所以需要在linux下和windows下源码编译安装tesseract,tesseract当前最新稳定版本是4.1.0,所以就从这个版本入手,编译的过程中碰到了不少困难,踩到了不少坑,所以特意分享出来,避免各位朋友再走弯路~~。 1、查看centos版本#cat /etc/redhat-releaseCentOS release 6.5 (Final)  2、查看gcc和g++版本#gcc --version#g++ --versiongcc至少应需要4.9.0以上的版本,本人是通过yum安装的6....

如何编译生成Linux-C静态链接库

目标生成的静态库文件为:libnpcp.a 举例:我们有四个文件分别为:npcp.c npcp.h other.h main.c main.h在npcp.c里面#include "other.h" #include "npcp.h"main.c/h文件是用来调用我们生成的静态库文件的在main.c里面包含npcp.h #include "npcp.h" 当我们的接口不愿意直接被客户看到的时候,我们就需要使用静态链接库或者动态链接库来给客户提供接口 默认使用的gcc编译gcc -c npcp.c //将npcp.c编译成npcp.o文件...

c – 我可以在Redhat Linux机器上使用在Ubuntu上编译的共享库吗?

我在Ubuntu 9.10桌面上编译了一个共享库.我想将共享库发送给拥有Red Hat Enterprise 5盒的联合开发人员. 他可以在他的机器上使用我的共享库吗?解决方法:第一点:关于编译器版本的所有答案似乎都是错误的.重要的是联系(当然还有架构). 如果将.so文件复制到启动系统(例如,复制到其自己的/usr/local/*或/ opt / *目录中),则尝试使用LD_PRELOAD环境设置运行预期的可执行文件.如果链接器(ld-linux.so)设法解析两者之间的所有符号,则程序...

如何在Windows Vista上编译为Linux / Unix编写的C源代码(给出代码)【代码】

我有一个c源代码,由其他作者在linux / unix环境中编写.当我在windows vista环境中编译它时,它给了我错误.我正在使用Bloodshed Dev C v 4.9.请帮忙.#include <iostream.h> #include <map> #include <vector> #include <string> #include <string.h> #include <strstream> #include <unistd.h> #include <stdlib.h>using namespace std;template <class T> class PrefixSpan { private:vector < vector <T> > transactio...

在Linux上编译Python绑定

我正在尝试编译Python绑定,但我无法在debian上找到python.h头文件.我应该安装哪个包?解决方法:你应该安装python-dev

Way Cross编译可在Windows,Linux和Mac OS上运行的C/C++代码?

有没有办法获取我的C代码并交叉编译它以在Windows,Mac OS和Linux上运行?是否有工具可以执行此操作,还是必须通过Terminal / Cygwin在每个操作系统上手动编译?解决方法:您可以使用所谓的交叉编译器进行交叉编译. Mingw可以这样安装.我相信MacOS只使用g,所以你也可以为它做一个交叉编译器.从来没有自己做过.您可以在网上搜索方向.这是我从谷歌获得的顶级链接: http://linux.bytesex.org/cross-compiler.html

linux – 开发SPARC应用程序,IBM power CPU是否需要单独的编译器,而不是x86,x86-64目标?

开发SPARC,IBM PowerPC的应用程序是否需要单独的编译器,而不是x86和x86-64目标? 如果是的话,Linux中的x86,x64二进制文件可以轻松地移植到SPARC和PowerPC中吗?有没有办法使用虚拟化来模拟这些环境?解决方法:第一个答案是,是的,为Power Architecture或SPARC开发编译代码,您需要为这些处理器生成代码的编译器.生成x86或x86_64代码的编译器不会生成在Power Architecture或SPARC上运行的代码.您可能会发现在x86(32或64)上运行的交叉编...

linux – 使用调试符号从源代码编译glibc

我需要使用调试符号从源代码编译glibc. 1.我在哪里指定’-g’选项 2.我以后如何制作一个示例代码链接到这个特定的glibc而不是我系统上安装的那个?解决方法:I need to compile glibc from source with debug symbols你将很难编译没有调试符号的glibc.默认的./configure&& make将在编译行上有-g.How do i later make a sample code link to this particular glibc rather than the one installed on my system?这有点棘手,并回答了h...

Qt – Linux的编译不是针对Android的编译?为什么?

Qt 5有Android支持:使用Android SDK和NDK你也可以编译Qt应用程序在Android上运行.现在我不明白.早在Android出现之前,Qt就是一个跨平台.这意味着它能够在Windows,Mac和Linux上进行编译.但Android IS Linux不是吗?为什么我需要像SDK和NDK这样的特殊Android工具来为Android编译.为什么在不编译Android的情况下编译Linux?解决方法:Android不仅仅是一个操作系统,而是一整套移动软件. 这是因为android的结构(在应用程序的上下文中)与l...