编译程序

centos6.4 下安装numpy、scipy、matplotlib

跟風遠走 提交于 2020-03-24 08:00:16
各个安装包版本: scipy-0.11.0 numpy-1.6.2 nose-1.2.1 lapack-3.4.2 ##atlas-3.10.0 (http://pkgs.fedoraproject.org/repo/pkgs/atlas/) 依赖关系:scipy的安装需要依赖于numpy、lapack、atlas(后两者都是线性代数工具包,不清楚的自行google之。。。),而numpy和sci的测试程序的运行又依赖于nose,因此,整个安装过程必须要按顺序执行的,否则是无法执行下去的。 sudo yum -y install gcc gcc-c++ numpy python-devel scipy sudo pip install nose sudo pip install numpy 主要是在安装scipy时问题多多: 1. Blas(http://www.netlib.org /blas/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [blas])or by setting the BLAS environment variable. 找不到blas 解决: yum

Qt编译安装qwt错误moc/xxx Error:126

≡放荡痞女 提交于 2020-03-24 06:45:33
最近搞设计,需要在上位机上绘制曲线,在网上找了找,发现python的matplotlib和Qt的qwt都不错,本着难度最小原则,选择了Qt下面的qwt,安装过程中遇到了编译错误:moc/xxx Error:126等问题,搜了很多帖子,终于解决了,在此记录下解决过程,方便后来者。。。 首先到SourceForge上下载Qwt的源码: https://sourceforge.net/projects/qwt/files/qwt/ ,这里下载了qwt-6.1.3。windows上安装需要下载zip格式的压缩包。解压之后,为了后续安装方便,我们把解压得到的qwt-6.1.3文件夹重命名为qwt,并将其拷贝到Qt的安装目录,我是将Qt4.8.4和Qt-Creator安装在了一个Qt总目录下,就将qwt拷贝到Qt目录下,如下: 然后进入qwt目录下,对下面这两个文件进行编辑: 找到qwtbuild.pri文件中的如下位置: 将第30行改为: 修改这里的原因在上面注释中已经说得很明白了,在windows下面,无法合并debug和release版本的库文件。保存之后修改第二个文件qwtconfig.pri,找到如下位置: 将其改为: 修改这里的原因是为了方便组织程序,将Qt相关的所有程序都安装到Qt总目录下,这个目录要注意,以后也不能修改,要配合工程文件一起的,要不然会很麻烦。然后在开始

linux后台开发常用调试工具

独自空忆成欢 提交于 2020-03-24 01:15:36
linux后台开发常用调试工具 一、编译阶段 nm 获取二进制文件包含的符号信息 strings 获取二进制文件包含的字符串常量 strip 去除二进制文件包含的符号 readelf 显示目标文件详细信息 objdump 尽可能反汇编出源代码 addr2line 根据地址查找代码行 二、运行阶段 gdb 强大的调试工具 ldd 显示程序需要使用的动态库和实际使用的动态库 strace 跟踪程序当前的系统调用 ltrace 跟踪程序当前的库函数 time 查看程序执行时间、用户态时间、内核态时间 gprof 显示用户态各函数执行时间 valgrind 检查内存错误 mtrace 检查内存错误 time(查看程序执行时间、用户态时间、内核态时间) root@test:/home/fengpan# time ps PID TTY TIME CMD 27169 pts/19 00:00:01 bash 30410 pts/19 00:00:00 ps real 0m0.077s user 0m0.014s sys 0m0.009s ldconfig    是一个动态链接库管理命令。为了让动态链接库为系统所共享,需运行动态链接库的管理命令--ldconfig。 ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so

C++项目中的extern \"C\" {}

浪尽此生 提交于 2020-03-23 13:12:09
引言 在用C++的项目源码中,经常会不可避免的会看到下面的代码: #ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cplusplus } #endif 它到底有什么用呢,你知道吗?而且这样的问题经常会出现在面试or笔试中。下面我就从以下几个方面来介绍它: 1、#ifdef _cplusplus/#endif _cplusplus及发散 2、extern "C" 2.1、extern关键字 2.2、"C" 2.3、小结extern "C" 3、C和C++互相调用 3.1、C++的编译和连接 3.2、C的编译和连接 3.3、C++中调用C的代码 3.4、C中调用C++的代码 4、C和C++混合调用特别之处函数指针 1、#ifdef _cplusplus/#endif _cplusplus及发散 在介绍extern "C"之前,我们来看下#ifdef _cplusplus/#endif _cplusplus的作用。很明显#ifdef/#endif、#ifndef/#endif用于条件编译,#ifdef _cplusplus/#endif _cplusplus——表示如果定义了宏_cplusplus,就执行#ifdef/#endif之间的语句,否则就不执行。 在这里为什么需要#ifdef _cplusplus/#endif

让程序在崩溃时输出Dump文件

泄露秘密 提交于 2020-03-23 03:36:54
#include <Windows.h> #include <tchar.h> #include <DbgHelp.h> #include <iostream> #include <vector> // 添加对dbghelp.lib的编译依赖 // #pragma comment(lib, "dbghelp.lib") using namespace std; const int MAX_ADDRESS_LENGTH = 32; const int MAX_NAME_LENGTH = 1024; // 崩溃信息 // struct CrashInfo { CHAR ErrorCode[MAX_ADDRESS_LENGTH]; CHAR Address[MAX_ADDRESS_LENGTH]; CHAR Flags[MAX_ADDRESS_LENGTH]; }; // CallStack信息 // struct CallStackInfo { CHAR ModuleName[MAX_NAME_LENGTH]; CHAR MethodName[MAX_NAME_LENGTH]; CHAR FileName[MAX_NAME_LENGTH]; CHAR LineNumber[MAX_NAME_LENGTH]; }; // 安全拷贝字符串函数 // void SafeStrCpy(char

Ubuntu下安装并配置VS Code编译C++

若如初见. 提交于 2020-03-22 15:07:10
作者:tongqingliu 转载请注明出处: http://www.cnblogs.com/liutongqing/p/7069091.html Ubuntu下安装并配置VS Code编译C++ 网上看了很多教程,写的都不细致,或者我理解不够透彻,一步一步操作下来,总是错误百出。好不容易成功一次,现将完整过程记录如下 安装VS Code sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make sudo umake web visual-studio-code 然后按a直接默认同意就可以。 安装插件 打开VS Code后,按crtl + shift + P调出命令行,然后搜索C++,安装微软自己开发的那个。 同样可以安装C++ Intellisense插件,用于自动补全代码。 配置launch.json和tasks.json 注意VS Code只能打开源码所在的文件夹,而不是直接打开源码文件,否则下面将无法进行! 打开源码所在文件夹后,在该文件夹中打开源码。按F5键,选择C++, 然后会自动生成launch.json文件,下面只需要修改两个地方 将 "program": "enter program name, for

Java开发和运行环境的搭建

最后都变了- 提交于 2020-03-22 12:10:36
JDK是Java Development Kit的缩写,即Java开发工具集。JDK是整个Java的核心,包括了Java运行环境(JRE)、Java开发工具和Java基础类库。 JRE是Java Runtime Environment的缩写,即Java运行时环境。Java程序运行时必需要JRE的支持。 对于普通用户 ,可以单独下载并安装 JRE;而对开发者来说,JDK中已包含JRE了,因此无需再单独安装 。 Java的平台版本 Java分为J2SE、J2EE和J2ME三个不同的平台版本,即标准版(Java 2 Platform, Standard Edition)、企业版(Java 2 Platform, Enterprise Edition)和微型版(Java 2 Platform, Micro Edition)。从Java 1.5(或者Java 5.0)开始,它们被改称为Java SE、Java EE和Java ME。 各平台版本之间的差别在于适用范围不同: 标准版平台(Java SE)允许开发和部署在桌面、服务器、嵌入式和实时环境中使用的Java应用程序。另外,Java SE包含了支持实现Java Web服务的类库,因此标准版是企业版的基础。 企业版平台(Java EE)帮助开发者开发和部署Java Web应用。企业版提供Web服务、组件模型、管理和通信API

intellij部署_2

半世苍凉 提交于 2020-03-22 10:18:00
3 月,跳不动了?>>> 1.黑色主题 中文乱码修改 2.WEB项目的部署 以及自动编译 3.多项目的同时部署 4.相关插件提高工作效率 1.JRebel插件 实现热部署 2.Tasks插件 集成任务管理 5.其它的一些技巧配置(未完待续) 前言: 为什么我要选择intellij idea呢?原因有三 1.以前公司的项目 在myeclipse10中不稳定 myeclipse说不定什么时候就崩溃卡死了 而intellij很稳定 2.界面高端洋气 用我朋友的话说 看着跟搞苹果开发一样 3.项目的支持上比较好 基本上web项目都可以导入进来 比如mybatis的官方项目 是maven的 在myeclipse中就不能直接导入 intellij支持了 目前基本上所有的项目 尤其是maven项目 推荐一下黄勇的这篇《使用 IDEA + Maven + Git 快速开发 Java Web 应用》 http://my.oschina.net/huangyong/blog/175363 下面步入正题: 1.黑色主题 中文乱码修改 修改黑色主题 Settings->Appearences ->Themes->Darcula 系统提示重启加载主题 重启后Settings->Appearences ->勾选Override default fonts by 出现这种情况 不用害怕 只用随便选择一个乱码的

【Qt开发】 QT:make: Nothing to be done for `first\'和error:QtSql:No such file or directory

一曲冷凌霜 提交于 2020-03-22 02:49:28
http://blog.csdn .NET /heqiuya/article/details/7774208 这是QT编程中常见的两个编译错误.可能你的代码在window下编译能正常通过,可是到到 Linux 下编译就出现这个问题.解决方案如下: 在你编译QT代码之前最好先make clean一下, 因为*.o之类的文件可能影响到编译. 在qt目录下make后出现以下错误: make: Nothing to be done for `first' 解决:将你当前目录下的,删除你程序主要的 *.cpp 和 *.h文件以外的所有文件。 接着执行: #qmake -project #qmake #make 运行正常。 QtNetwork: No such file or directory 问题的解决 最近学习Qt,在Qt4.3.2版本编译包含如下头文件时 #include <QtNetWork> 程序在nmake时出现 server.h:7:21: error: QtNetwork: No such file or directory 终于找到了解决办法 在当前目录下找到 .pro文件 在其中手工添加一行: QT += network 具体操作步骤如下 1: qmake -project 2: 手工添加 Qt += network 3: qmake 4: nmake OK,一切正常

Python学习记录

爷,独闯天下 提交于 2020-03-21 16:47:37
Python学习记录Day1 1.什么是Python? Python的本意其实蟒蛇,由于其创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)喜欢一部电视喜剧《Monty Python's Flying Circus》,故将其命名为Python。而Python的诞生(Python解释器原型)则是因为1989年圣诞期间,Guido为了打发圣诞节的无趣,就决心开发一个新的脚本解释程序,作为ABC语言的一种继承。1991年,第一个Python解释器诞生,它是用C语言实现的,并且能调用C语言的库文件。 1.1什么是解释器? 计算机是不能理解除机器语言之外的任何语言的,所以必须把程序员所写的程序语言翻译为计算机能看懂的机器语言,计算机才能执行程序,将其他语言翻译成机器语言的工具,成为编译器。编译器的翻译方式分为两种:一种为编译,一种为解释。两者翻译的区别在于运行的时间点的不同。当编译器以解释方式运行是,称为解释器。 ●编译型语言:程序在执行之前需要一一个专]的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++ ●解释型语言:解释型语言编写的程序不进行预先编译,以文本方式存储程序代码,会将代码句一句直接运行。在发布程序时,看起来省了道编译工序,但是在运行程序的时候,必须先解释再运行