如何查看程序被哪个版本编译器编译的linux-gcc http://bbs.csdn.net/topics/380000949 那是不可能的,除非你加入了调试信息,也就是编译的时候加入了-g参数,然后用gdb调试就可以显示.最大程度上查看一个elf文件信息. 如下: [root@localhost rootfs]#  readelf -Wa bin/gzip ELF Header: Magic: 7f 4c Class: ELF32 Data: 's complement, little end…
需求: -CodeBlocks使用nightly版本: -Windows SDK(我使用的是6.0A,即微软针对vista的,因为这个比较小,你也可以选择其他版本但是要有64位编译器.他也适用于xpsp2及以上但是要安装.net2.0以上才能运行)对应的链接 :http://download.microsoft.com/download/4/2/6/42684501-9ec5-43dd-9dfe-c8c9dfa6a66f/6.1.6000.16384.10.WindowsSDK_Vista_Fe…
1.前言 nim是什么? nim是一门静态编译型语言,语法类似python,nim的代码被翻译成C代码再被C编译器编译成可执行文件.因此nim的可执行文件比较小,性能应该也不错. 最简单的nim程序就这样: echo "消灭人类暴政!" 编译后EXE一百多K到两百K左右. 下载nim编译环境请到官方网站: http://nim-lang.org/ tcc是什么? tcc是一个体积只有数百K的C语言编译器. tcc 官方网站 http://bellard.org/tcc/ 2.配置nim…
要点:ldd 可以读取每个可以运行的程序依赖的 so 文件. 编译的时候提示需要Openssl库. 查看本机,已经安装了openssl 查看编译报错文件,查找Openssl所依赖的库 more objs/autoconf.err 查看openssl所依赖的库文件 ldd /usr/bin/openssl ldd –u /usr/bin/openssl objdump -x obj 以某种分类信息的形式把目标文件的数据组织(被分为几大块)输出    objdump -t obj 输出目标文件的符号…
本来这个问题真的没必要写的,可是真的困扰我太久%>_<%,决定还是记录一下. 首先,最权威清晰的安装文档还是官方的: Building the NetCDF-4.2 and later Fortran libraries (写此文时,最近版为4.2) 那这个文档最开始就告诉我们,自NetCDF库4.2版本以后,Fortran的库和C的库就要分开build啦!而且要装Fortran的库必须先装好C的库. 所以先装C的库咯:仍然官方文档: Getting and Building NetCDF-C…
首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用. 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明.例如,如果模块B欲引用该模块A中定义的全局变量和函数时只需包含模块A的头文件即可.这样,模块B中调用模块A中的函数时,在编译阶段,模块B虽然找不到该函数,但是并不会报错:它会在连接阶段中从模块A编译生成的目标代码中找到此函数 extern "C"…
本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.exe是Windows平台下的链接器,C++源代码在使用它们编译.链接后,生成的可执行文件能够在windows操作系统下运行.cl.exe和link.exe集成在Visual Studio中,随着开发工具Visual Studio的安装,它们也被安装到与VC相关的目录下. 使用该编译器的方式有两种,一种…
C++应用程序在Windows下的编译.链接(一)概述 本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.exe是Windows平台下的链接器,C++源代码在使用它们编译.链接后,生成的可执行文件能够在windows操作系统下运行.cl.exe和link.exe集成在Visual Studio中,随着开发工具Visual Studio的安装,它们也被安…
Windows下安装 方法一--VS: 使用windows开发神器visio studio.这种方法比较简单,直接下载一个最新的vs安装就行.不单单是C++,C.C#.VB等都可以开发. 方法二--只安装C++编译器: 最常用的免费可用的编译器是 GNU 的 C/C++ 编译器,为了在 Windows 上安装 GCC,您需要安装 MinGW. 1.首先去MinGW主页下载最新版本的MinGW: www.mingw.org.直接点击网站右上方的Download Installer. 2.运行Min…
关于vs潜在的升级问题概述 (Visual C++)查看官网的介绍:潜在的升级问题概述 (Visual C++).主要问题: 1. 如果使用 /GL(全程序优化)进行编译,则生成的对象文件只能使用生成它时所用的同一工具集进行链接.即若在编译静态库时开启了全程序优化,那么编译出的静态库不可移植. 2. 在 Visual Studio 2013 及更低版本中,不能保证使用不同编译器工具集和运行时库版本生成的对象文件 (OBJ).静态库 (LIB).动态库 (DLL) 和可执行文件 (EXE) 之间的…
C/C++编译器的一些易混淆概念,总结一下. 关于什么是Unix-like操作系统,常见操作系统间差异,什么是操作系统接口等等,请参考<操作系统宝鉴>. C/C++编译器有哪些? 首先是如雷贯耳的这几位仁兄,MSVC.GCC.Cygwin.MingW(Cygwin和MingW的英文发音),另外还有些小众和新秀,像ICC(Intel C/C++ Compiler).BCC(Borland C/C++ Compiler,快销声匿迹了).RVCT(ARM的汇编/C/C++编译器,内置在ARM的IDE…
原文地址http://blog.csdn.net/abc78400123/article/details/6779108 在用gdb调试,使用s 或n单步执行程序时,发现程序不是按顺序运行的,有时莫名其妙的执行到前面的语句去了,有时又执行到后面的语句,有时一次执行几条语句.后来查了下资料.原来这是编译时的优化问题所导致的. 因为内核的编译是使用make命令的,所以要更改优化等级的话,只能修改makefile文件了. 在makefile中,找到CFLAGS   然后在这加上-O0选项即可. 当然这…
摘自http://blog.csdn.net/elfprincexu/article/details/45043971 gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解 C和C++编译器是集成的,编译一般分为四个步骤: 预处理(preprocessing)  ----------------- cpp/ gcc -E  编译(compilation) ------------------ cc1 / gcc -S 汇编(assembly)  ----------------…
准备:安装VS2008和Qt 4.8.2,并且设置环境变量(QTDIR=C:\Qt\4.8.2 和 path+=C:\Qt\4.8.2\bin) 一.下载mysql数据库,安装(完全安装)到C盘根目录下,设置环境变量,path+=C:\MySQL\bin. 二.“开始”—>“所有程序”—>“Microsoft Visual Studio 2008”—>“Visual Studio Tools”—>“Visual Studio 2008 命令提示”,在命令行中通过cd命令进行C:\Q…
目录 Linux2.6版本内核编译配置选项(一):http://infohacker.blog.51cto.com/6751239/1203633 Linux2.6版本内核编译配置选项(二):http://infohacker.blog.51cto.com/6751239/1203635 Device Drivers设备驱动程序 Generic Driver Options 驱动程序通用选项 Select only drivers that don't need compile-time ext…
Linux 2.6.19.x 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布.任何人都可以自由使用.转载.复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件.您可以自由链接.下载.传播此文档,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明. 其他作品 本文作者十分愿意与他人共享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有作品…
原文:https://blog.csdn.net/u010977122/article/details/52993560?spm=a2c4e.11153940.blogcont551034.8.4f7d2ef2dRPC1l https://blog.csdn.net/tenfyguo/article/details/5605120 https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/ldd.html 前几天在编译第三方开源库的时候,转载…
也谈ObjectARX多版本批量编译 by edata 2017-12-10 因某些原因,我的电脑系统依旧是windows XP,所以能安装的vs最高版本是vs2010,以下均在vs2010上实现,其他更高vs一样可以实现,原理是一样的. 我的方式比较特殊,采用的是(hightflybird)的多版本解决方案,参见:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=172590&extra=page%3D1%26filter%3Dauthor…
用以下命令: yum install gcc 安装的只有gcc,而不会安装g++.gcc是编译器合集,而gcc-g++或简称g++则是C++编译器.gcc成为了编译器的选择器.gcc通过识别被编译的源代码的后缀名,来启用不同的编译器来编译.如果是m.c,则会启用c语言编译器编译:如果是m.cpp,则会启用g++来编译.我们都可以用gcc m.c(pp)来实现编译.    但是使用上述命令安装的gcc,并没有安装g++编译器.所以你编译cpp文件时会提示:gcc: error trying to…
转载来源:www.51xuediannao.com/xiaochengxu/019c08cc.html 一.前言 微信小程序源码提取反编译,听起来很屌,其实还是简单的,基本是傻瓜式操作.要想拿到微信小程序源码,找到源文件在手机存放的位置就行,源文件拿到,用反编译脚本跑一下,微信小程序代码包里的所有文件.所有资源就出来了(除了project.config.json小程序配置文件).拿到源码后,跑起来是能跑,但登录.授权等涉及到appid的功能是不能用的,因为被反编译小程序的服务端appid和你本地…
GCC简介    Linux系统下的gcc(GNU C Compiler)是GNU推出的功能强大.性能优越的多平台编译器,是GNU的代表作品之一.gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%.gcc编译器能将C.C++语言源程序.汇程式化序和目标程序编译.连接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件. 在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行…
在Eclipse中采用高版本jdk编译一些低版本的源码时,由于源码中使用了一些高版本中过时的API,可能就会报错,类似于: Access restriction:The type 'Unsafe' is not accessible due to restriction on  required library.... 简单解决方法是修改编译器编译的配置: 设置 Windows->Preferences->Java-Complicer->Errors/Warnings->Depre…
Linux程序开发变得越来越多,越来越多的程序.产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要. 但是对于习惯了Windows下的开发,使用了VS这个宇宙第一IDE后,觉得Linux下的纯命令行开发调试,还是有些不习惯,效率有些低(大神除外).那么能不能用VS来开发调试Linux程序呢,经过各种查找,找到了VisualGDB这个神奇的插件,通过VS+VisualGDB就可以编译调试Linux程序. 下面我们来看一下创建demo的过程吧. 配置虚拟机 V…
Linux下怎么查看当前系统的版本:   uname -r 功能说明:uname用来获取电脑和操作系统的相关信息. 语 法:uname [-amnrsvpio][--help][--version] 补充说明:uname可显示linux主机所用的操作系统的版本.硬件的名称等基本信息. 参 数: -a或–all     详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称 -m或–machine   显示主机的硬件(CPU)名 -n或-no…
iOS开发UI篇—简单的浏览器查看程序 一.程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件的对象,需要添加监听方法 左边按钮 右边按钮 二.实现基本功能的程序 // // YYViewController.m // 03-图片浏览器初步 // // Created by apple on 14-5-21. // Copyright (c) 2014年 itcase. All rights…
1.查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊 2.Tomcat服务器和虚拟机的关系,Tomcat启动运行过程要调用系统环境变量的java_home啊,JAVA_HOME指向JDK,JDK里面就有虚拟机啊 3.Tomcat的运行是运行在本地电脑里的jdk里面的虚拟机上的.所以就像龙哥所言,他们的C++项目,要用一个java jar包,只能扔进来一个jdk了. 4.Tomcat的运行是在jdk里的虚拟机上…
问题现象:某个程序改了ICO图标后编译后还是显示老图标? 问题原原:可能是因为系统的缓存问题. 问题处理:把程序的EXE放在别的路径下打开就可以了. 问题相关人员:QQ253120114(朋友)  QQ80992596(眼睛蛇◎△◎)…
为什么要在VS2008中使用QT静态编译呢?很简单,因为VS2008编译器编译出来的文件比mingw编译的要几乎小一半. 好了现在我们来做些准备工作,VS2008自然要安装的,然后打上SP1的补丁.然后我们要到QT主页下载,QT4.7.4版的源码包 qt-everywhere-opensource-src-4.7.4.zip,因为用源码包编译没那么容易出错:另外还有QT for VS 的插件 qt-vs-addin-1.1.9.exe,这两个准备好就可以开始安装了. 第一步: 把源码 包qt-e…
由chkconfig 引发的联想--怎么查看程序是否已经安装/成功安装 某天需要运行chkconfig,root登录依然找不到该命令. [root@localhost ~]# chkconfig bash: chkconfig: command not found 为什么,先看看chkconfig是不是安装过了? [root@localhost ~]# rpm -q chkconfig chkconfig-1.3.30.1-2 是安装过的,安装到哪里了? [root@localhost ~]#…
1.在表示网络传输速度中与表示存储单位的不同: 表示存储单位时:1kB=1024B,但在网络中表示传输速度是1KB=1000B 2.下面介绍表示存储单位时的关系及其与操作系统位数的关系: 1B=8bit 字是指计算机cpu一次可处理的二进制数,32位操作系统字长位32bit(4B),64位系统字长64bit(8B); 3.不同操作系统中数据类型的表示范围 与其说数据类型与操作系统位数有关,不如说与编译器编译有关.一般的,数据类型的字节数是由编辑器决定的.64位系统中编译器可以采用32位和64位两…