当前位置:  编程技术>c/c++/嵌入式
本页文章导读:
    ▪C++ getline函数的使用      一、功能:用于向string对象,输入整行的字符串。二、定义1.getline(istream & is,string & s);使用时默认的结束符为Enter2.getline(istream & is,string & s,delim);使用时结束符为delim,比如delim为&lsq.........
    ▪C语言排序之选择排序(一)        今天主要写了点C的排序,现在想来,语言啥的都如浮云,当然能够做到最简单是最好的,比如用C++可以搞成模板,就省得写一大堆相似的东西,就是一个比较爽的事情,不过有些时候&ldqu.........
    ▪Qt5-msvc2012编译安装      Qt5发布已经有一段时间了,从官网下载的Windows编译版本是基本msvc2010的,Debug版本程序编译有问题,所以尝试了自行编译;开始尝试使用mingw 4.7.2编译Qt5,碰到了内存分配错误,在网上查找未.........

[1]C++ getline函数的使用
    来源:    发布时间: 2013-10-17

一、功能:用于向string对象,输入整行的字符串。

二、定义

1.getline(istream & is,string & s);使用时默认的结束符为Enter

2.getline(istream & is,string & s,delim);使用时结束符为delim,比如delim为‘a’,则把第一个a之前的字符赋给string对象,即使为ENTER。

本文链接


    
[2]C语言排序之选择排序(一)
    来源:    发布时间: 2013-10-17

  今天主要写了点C的排序,现在想来,语言啥的都如浮云,当然能够做到最简单是最好的,比如用C++可以搞成模板,就省得写一大堆相似的东西,就是一个比较爽的事情,不过有些时候“高级”语言都让我们懒得去思考了,实在是没劲,还是思想重要,最近又对数学和算法充满了兴趣!越发觉得计算机或者带有“智能”系列的东西的神奇了,爽啊。不吐槽了,上今天的代码吧。

1 /*rand()*/
2 #include <stdlib.h>
3 /********************
4 int rand(void)
5 void srand(unsigned int);
6 *********************/
7 #include <time.h>/*time(NULL)*/
8 #include <stdio.h>
9 /*直接插入排序*/
10 void insort(int s[] , int n);
11 /*希尔排序,就是将直接排序的增量分成若干组,相同的放一组,组内直接插入*/
12 void shellsort(int s[] , int n);
13 int main()
14 {
15 int num[10],i=0;
16 srand(time(NULL));
17 for(;i<10;i++)
18 {
19 num[i] = rand()%100;
20 }
21 //insort(num,10);
22 shellsort(num , 10);
23 for(i=0;i<10;i++)
24 {
25 printf("%d\n",num[i]);
26 }
27 return 0;
28 }
29 /*直接插入法是指对一个新数组重新一个个插入数据,小->大*/
30 void insort(int s[],int n)
31 {
32 int i,j,key;
33 /*key为监视,保存数据,1个数据不用比较*/
34 for(i=1;i < n;i++)
35 {
36 key = s[i];
37 j = i-1;
38 while(key<s[j]&&j>=0)
39 {
40 s[j+1] = s[j];/*数据右移*/
41 j--;
42 }
43 s[j+1] = key;
44 }
45 }
46 /*希尔排序,选择就用希尔!*/
47 void shellsort(int s[] , int n)
48 {
49 int i , j ,d,key;
50 d = n/2;
51 while(d>=1)
52 {
53 for(i = d ; i<n ; i++)
54 {
55 key = s[i];
56 j = i -d;
57 while(key < s[j]&&j>=0)
58 {
59 s[j+d] = s[j];
60 j = j-d;
61 }
62 s[j+d] = key;
63 }
64 d = d/2;
65 }
66 }

 

2013-01-19

 

 

 


    
[3]Qt5-msvc2012编译安装
    来源:    发布时间: 2013-10-17

Qt5发布已经有一段时间了,从官网下载的Windows编译版本是基本msvc2010的,Debug版本程序编译有问题,所以尝试了自行编译;开始尝试使用mingw 4.7.2编译Qt5,碰到了内存分配错误,在网上查找未找到有效的解决方案,所以最后转而使用msvc2012编译Qt。

下面是文中源码的目录结构:

D:\SDK\Qt
├─5.0.0
│ ├─msvc2012
│ └─src
└─third
├─icu
└─openssl-1.0.1c

1. 编译环境准备

下载安装Visual Studio 2012 Express、Windows Kit 8;

2. 编译第三方库

第三方库这里主要用到了icu, openssl,这两个库应该是可选,如果configure的时候不需要,这一步应该可以跳过;安装方法可以查看相关readme文件;

3. 下载Qt5源代码

http://qt-project.org/downloads

4. 配置相关环境变量

下面是自己做的一个批处理文件,使用时需要调整安装包的路径:

@echo Setting Qt Build Env...

@CALL "C:\Program Files\Microsoft Visual Studio 11.0\VC\vcvarsall.bat"

set QT5_DIR=D:\SDK\Qt\5.0.0
set THIRDPARTY_DIR=D:\SDK\Qt\third
set JOM_DIR=D:\SDK\Qt\jom

@cd /d %QT5_DIR%\src
set INCLUDE=%THIRDPARTY_DIR%\icu\include;%THIRDPARTY_DIR%\openssl-1.0.1c\msvc2012\include;%INCLUDE%
set LIB=%THIRDPARTY_DIR%\icu\lib;%THIRDPARTY_DIR%\openssl-1.0.1c\msvc2012\lib;%LIB%
set PATH=%CD%\qtbase\bin;%CD%\gnuwin32\bin;%JOM_DIR%;D:\SDK\Perl\bin;D:\SDK\Python27;D:\SDK\ruby-1.9.3-p362-i386-mingw32\bin;%THIRDPARTY_DIR%\icu\bin;%THIRDPARTY_DIR%\openssl-1.0.1c\msvc2012\bin;D:\Program Files\PortableGit\cmd;%PATH%

@echo Finished.

5. 根据需要配置生成Makefile文件

打开cmd窗口,运行上一步配置的批处理脚本;使用configure.bat生成Makefile文件:
如果跳过第2步,这里要去掉-icu, –openssl选项;注意-prefix选项,这个是用来配置Qt5编译完成后安装路径的,下面是我的安装路径:

configure -prefix D:\SDK\Qt\5.0.0\msvc2012 -opensource -confirm-license -platform win32-msvc2012 -developer-build -c++11 -icu -opengl desktop -openssl -nomake tests -nomake examples

6. 编译安装Qt5开发库

使用jom工具或nmake编译Qt5,jom可以充分利用多核CPU性能,下方以jom命令为例,可以更换为nmake;

jom是用来编译库文件的,完成后使用jom install命令安装开发需要的文件到-prefix变量设置的目录:

jom
jom install

7. 编译安装Qt5帮助文件

编译安装Qt5是默认是没有编译安装帮助文件的,需要手动编译安装:

jom docs
jom install_docs

 

遗留问题:

Qt Assistant打不开,这个问题还没有解决,目前查看帮助文档可以在Qt Creator中查看。

参考文档:

1. http://qt-project.org/wiki/Building_Qt_5_from_Git

2. http://qt-project.org/wiki/Building_Qt_5_Documentation

本文链接


    
最新技术文章:
▪C++单例模式应用实例
▪C++设计模式之迭代器模式
▪C++实现动态分配const对象实例
▪C++设计模式之中介者模式
▪C++设计模式之备忘录模式
▪C++插入排序算法实例
▪C++冒泡排序算法实例
▪C++选择排序算法实例
▪C++归并排序算法实例
▪C++设计模式之观察者模式
▪C++中关键字Struct和Class的区别 iis7站长之家
▪C++设计模式之状态模式
▪C++设计模式之策略模式
▪C++设计模式之访问者模式
▪C++设计模式之模板方法模式
▪C++实现下载的代码
▪C++模板之特化与偏特化详解
▪C++实现查壳程序代码实例
▪C语言、C++内存对齐问题详解
▪C语言、C++中的union用法总结
▪C++基于CreateToolhelp32Snapshot获取系统进程实例
▪C++中memcpy和memmove的区别总结
▪C++通过TerminateProess结束进程实例
▪C++内存查找实例
▪C++实现CreatThread函数主线程与工作线程交互的...
▪C++设计模式之桥接模式
▪C++中关键字Struct和Class的区别
▪C++设计模式之组合模式
▪C++ COM编程之什么是组件?
▪C++ COM编程之什么是接口?
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3