草庐IT

arm-linux-gnu-gcc

全部标签

java - 如何使用 gcc 编译器或其他编译器生成 64 位 .dll。无法在 AMD 64 位平台上加载 IA 32 位 .dll

您好,我没有找到如何创建64位dll的解决方案。并使用它的原生C++方法。我使用Java代码metodynatywne.java:classmetodynatywne{static{System.loadLibrary("metodynatywne");}nativepublicvoidsayHello();publicstaticvoidmain(Stringargv[]){newmetodynatywne().sayHello();}}然后生成metodynatywne.h使用javah-jnimetodynatywne我写了metodynatywne.cpp代码:#include

c++ - 如何使用带有 "-fomp"和 "-pg -fprofile-create"的 gcc/gprof 分析 c++?

我很困惑是否可以使用启用了OpenMP的gcc为gprof编译/链接分析构建。据我的谷歌搜索显示,gcc文档似乎对此事保持沉默。根据实验,仅添加-fomp开关会导致启动时出现SIGPROF错误。我也不清楚http://projekt17.pub.lab.nm.ifi.lmu.de/ompp/downloads/$pkgname-$pkgver.tgz是否属于任何帮助,因为包含的文档仅引用带有简单文件的icc。如果可能的话,如何将它添加到现有的构建系统中?[注意:我是一个自学成才的新手,正在从事一个业余项目,请明确说明。谢谢。] 最佳答案

使用gcc/g++查看C语言预处理,编译,汇编,连接,以及动静态库的区分

文章目录使用gcc/g++gcc如何完成编译后生成可执行文件?预处理(进行宏替换)编译(生成汇编)汇编(生成机器可识别代码)连接(生成可执行文件或库文件)最后记忆小技巧在这里涉及到一个重要的概念:函数库静态库和动态库两种区分win和linux的动静态库后缀动态链接的优缺点安装C语言的静态库gcc的选项使用gcc/g++首先检查自己的linux机器有没有安装gcc--version没有安装的话执行下面命令以安装gcc和g++sudoyuminstall-ygcc-c++CentOS7默认匹配的gcc版本是4.8gcc是一个专门用来编译链接C语言的编译器,而g++是一个专门用来编译链接C++的编译

C++ Armadillo : GCC vs VC++2013: Operator () and overloading

我正在尝试使用ArmadilloC++库开发Linux/Win64应用程序。以下代码在GCC-4.7中编译,但在使用Armadillo提供的VS项目文件的VisualStudio2013中编译失败。#include#include"armadillo"usingnamespacearma;usingnamespacestd;//worksinGCC-4.7//VC++2013:compileerror:C3066voidfoo1(vec::fixed&bar){bar(1)=1.;}//worksvoidfoo2(vec::fixed&bar){bar.at(2)=1.;}//work

c++ - 当模板template-parameter的模板参数为pack expansion时,gcc失败,clang成功

templatestructS{templatestructA{};templatestructB{};templateclass>structC{};};S::C::B>s1;S::C::A>s2;//gcc5.1.0fails,clang3.6.0succeedsintmain(){}你可以在这里测试http://melpon.org/wandbox/permlink/hhy70gO9LMjLq9nU哪个是正确的,gcc还是clang? 最佳答案 这个问题在gcc6.0中已经解决 关

c++ - 使用 Qt ARM 预构建二进制文件进行交叉编译

我有一个带有ArchLinuxARM发行版的小型ARM开发板。存储库中提供了ARMQt5.5.0二进制文件。我想在我的UbuntuTrustyx86_64虚拟机上使用Qt为该板交叉编译一个程序。我需要先从源代码交叉编译Qt还是有一种方法可以重用预构建的ARM二进制文件?我的意思是,当我尝试在QtCreator中设置Qt工具包时,它希望我指向qmake可执行文件。ARM可执行文件在我的构建机器上可执行。所以看来我需要构建Qt才能获得qmake。但是它带有自己的一组库,我不确定我是否可以替换它们。 最佳答案 根据您的ARM板上有多少内存

Linux 配置DNS域名解析服务器

文章目录1.DNS分布式结构2.域名解析过程3.解析方式4.bind配置服务软件(1)安装bind软件(2)配置文件5.配置DNS主服务器(1)正向解析(2)反向解析6.配置DNS从服务器(1)更改主服务器(2)配置从服务器1.DNS分布式结构结构含义.根(全球共13台)cn.jp.顶级域com.cn.com.就是二级域baidu.com.cn.baidu.就是子域(需要购买,全球唯一)2.域名解析过程查询:本地缓存------>dns域名服务器------>根服务器------>顶级域------>二级域------>子域先查本地的dns缓存,如果没有,到dns域名解析服务器查找,若是还是没

c++ - 使用 GCC 时 std::put_money 不输出零值

当货币值为零时,std::put_money不会按预期输出“0”字符。我找不到任何解释此行为的内容。例子:#include#includeusingnamespacestd;intmain(){cout.imbue(locale(""));cout我希望输出为“£0.00”(取决于语言环境)但我得到的是“£.00”最终,为零值添加一个特例并不太麻烦,但这种行为对我来说仍然没有意义。这是什么原因(假设是故意的),除了单独处理零之外,是否有任何简单的解决方法?更新这似乎是特定于编译器的,我有报告说它在clang和VS中按预期工作,所以可能是gcc/g++特定的(准确地说是4.9版,但其他版

c++ - 为什么 GCC 允许在 C++ 中使用 round() 即使带有 ansi 和 pedantic 标志?

即使使用-ansi和-pedantic标志,这个程序在GCC下编译是否有充分的理由?#includeintmain(intargc,char*argv[]){doublex=0.5;returnstatic_cast(round(x));}使用g++-ansi-pedantic-Walltest.cpp-otest编译干净(甚至没有警告)。我看到两个问题:round()不应该在符合ISO的模式下对C++可用(因为它来自C99)即使round()在这种情况下可用,它也只能在std命名空间中可用我错了吗? 最佳答案 Thisisabug

c++ - gcc 4.6.1 错误的严格别名警告

我正在尝试使用-pedantic-errors-pedantic-Wall-O2在gcc上编译以下内容#includevoidreset_uint32(uint32_t*pi){char*c=(char*)(pi);uint16_t*j=(uint16_t*)(c);//warning?j[0]=0;j[1]=0;}voidfoo(){uint32_ti=1234;reset_uint32(&i);}intmain(){foo();}但我没有看到任何严格的别名警告。我也试过启用-fstrict-aliasing-Wstrict-aliasing但仍然没有警告。这是一个错误吗?