c++ 开发
文章平均质量分 73
frankywu2008
这个作者很懒,什么都没留下…
展开
-
【linux】c++ 内存管理(一)
1. 内存分配方式(1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如:全局变量,static变量。(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束的时候这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很搞,但是分配的内存容量有限。(3) 从堆上分配,亦称动态分配。程序在运行的时原创 2010-03-05 20:37:00 · 543 阅读 · 0 评论 -
常见的排序
名称复杂度说明备注冒泡排序Bubble SortO(N*N)将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮 插入排序Insertion sortO(N*N)逐一取出元素,在已经排序的元素序列中从后转载 2010-04-07 22:21:00 · 448 阅读 · 0 评论 -
指针
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int*ptr; (2)char*ptr; (3)int**ptr; (4)转载 2010-04-07 21:42:00 · 328 阅读 · 0 评论 -
运用autoconf和automake自动生成Makefile实例讲解
对于一个UNIX/Linux下C程序员来说,一个比较麻烦的工作就是写自己的Makefile。 可能你有如下经验:写一个简单的C程序,自己多写几行gcc命令就把程序变成可执行的了;写一个稍微复杂点的程序,源文件个数可能在30个左右,还是写一行行的gcc命令就麻烦了,你可能想到写个makefile,你可能也在这样做着;但你某一天会发现你写的这个Makefile可能不是一个所有 UNIX/Linux类操作系统下通用的Makefile,比如某人下载了你的程序去他自己电脑上可能make不了。 这样,你就有必要了解并学转载 2010-07-06 17:15:00 · 1615 阅读 · 0 评论 -
gcc/g++ 编译器使用简介
gcc/g++ 编译器使用简介 来源: ChinaUnix博客 gcc/g++ 编译器使用简介wite by hzh date:2010-1-19GNU CC(简称gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++、Object C、Jave等多种语言编写的程序。gcc又可以作为交叉编译工具,它能够在当前CPU平台上为多种不同体系结构的硬件平台开发软件,非常适合在嵌入式领域的开发编译,如常用的arm-linux-gcc交叉编译工具 通常后跟一些选项和文件名转载 2010-06-01 08:47:00 · 555 阅读 · 0 评论 -
Linux GCC安装 (转)
<br />目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。本文以在Redhat Linux上安装GCC4.1.2为例(因在项目开发过程中要求使用,没有用最新的GCC版本),介绍GCC的安装过程。<br /><br />安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的GCC 4.1.2。如果是这种情况,可以在网上找一个与你系统相适应的如RPM转载 2010-06-01 08:48:00 · 389 阅读 · 0 评论 -
linux 设置固定IP 方法
linux系统安装完,以后通过命令模式配置网卡IP。配置文件通常是/etc/sysconfig/network-scripts/ifcfg-interface-name1.配置网卡IP地址vi /etc/sysconfig/network-scripts/ifcfg-eth0 #第二块网卡:vi /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth0 #物理设备名IPADDR=192.168转载 2010-07-29 11:24:00 · 1750 阅读 · 0 评论 -
CentOS 5.5_FTP设置
<br />步骤如下:<br />检测是否安装了FTP :[root@localhost ~]# rpm -q vsftpd<br />如果安装了会显示 版本信息:[root@localhost ~]# vsftpd-2.0.5-16.el5_5.1<br />否则显示:[root@localhost ~]# package vsftpd is not installed<br /><br />1、运行yum install vsftpd命令<br />具体的细节如下:(如果无法更新,你先配置能访问互联网,转载 2010-06-09 10:59:00 · 3392 阅读 · 1 评论 -
source insight 相关插件使用(代码格式化,语法静态检查)
在Source Insight集成Astyle(代码格式化) Windows平台下也有好多人都喜欢用SourceInsight编辑C/C++程序,但是SourceInsight没有提供对代码格式化的功能,如果将Artistic Style集成到SourceInsight中,那就可以为它扩展出代码格式化的功能了。假定AStyle.exe的目录是“C:/ArtisticStyle/”,在该目录下有一个“c.opt”文件是用来保存配置的文件。下面简要地介绍下Artistic Style集成到SourceI原创 2010-06-13 10:08:00 · 15477 阅读 · 0 评论 -
Linux svn管理工具的12个命令实践
<br />Linux svn管理工具的12个命令实践<br />svn(subversion)是近年来崛起的版本管理工具,svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。不管是那种方式,都需要使用各种命令来实现。在本文中,会结合实例向大家介绍Linux svn的常用命令。<br /> <br />1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/dom转载 2010-09-13 13:31:00 · 1680 阅读 · 0 评论 -
sqlite安装
在linux下安装sqlite linux平台:CentOSSqlite版本:sqlite-3.5.61.源码安装步骤如下:1)wget http://www.sqlite.org/sqlite-3.5.6.tar.gz2)tar -xzvf sqlite-3.5.6.tar.gz3)cd sqlite-3.5.64)./configure --disabl转载 2012-05-12 10:14:18 · 2645 阅读 · 0 评论 -
链表
链表中最简单的一种是单向链表,它包含两个域,一个信息域和一个指针域。这个链接指向列表中的下一个节点,而最后一个节点则指向一个空值。一个单向链表包含两个值: 当前节点的值和一个指引下一个节点的链接一个单向链表的节点被分成两个部分。第一个部分保存或者显示关于节点的信息,第二个部分存储下一个节点的地址。一个单向链表只向一个方向遍历。链表最基本的结构是在每个节点保存数据和到下一个节点的地址,在转载 2010-04-07 22:10:00 · 827 阅读 · 0 评论 -
c/c++中指针学习的两个绝好例子
指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同,*x所表示的其实就是变量a本身,x表示的是变量a在内存中的地址,如果想明白可以输出观察cout#include main() { int a,b; /* 定义a,b两个整形变量用于转载 2010-04-07 21:44:00 · 353 阅读 · 0 评论 -
【linux】c++ 内存管理(二)
3. 指针与数组的比较不同点: 数组:要么在惊天存储区域被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命周期内保持不变,只有数组的内容可以改变。指针:可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。 两者特征比较的例子:(1) 修改内容:char a[] = “hello”;a原创 2010-03-06 21:34:00 · 379 阅读 · 0 评论 -
windows下sqlite安装使用和性能优化及设置
原文链接:http://edu.codepub.com/2008/1231/805.php windows下sqlite安装使用和性能优化及设置 sqlite是嵌入式SQL数据库引擎SQLite(SQLite Embeddable SQL Database Engine)的一个扩展。SQLite是一个实现嵌入式SQL数据库引擎小型C语言库(C library),实现了独立的,转载 2010-03-09 20:04:00 · 1256 阅读 · 0 评论 -
【linux】c++ 内存管理(三)
5.杜绝野指针 “野指针”不是NULL指针,是指向“垃圾”内存的指针。野指针的成因: (1)指针变量没有被初始化,任何指针变量刚刚被创建的时候不会自动成为NULL指针。它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应该被初始化,要么将指针设置成NULL,要么让它指向合法的内存。如: char *p = NULL; char原创 2010-03-21 10:50:00 · 371 阅读 · 0 评论 -
多线程
什么是线程? 英文:Thread 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。 线程是程序中一个单一的顺序控制流程.在单转载 2010-04-18 22:40:00 · 494 阅读 · 0 评论 -
c++ 多线程入门
C++多线程编程入门2008-10-20 15:49前几天搞定了C++的多线程编程,今天闲来无事小做总结!【线程的概念】为了了解线程的概念,我们必须先讨论一下进程的概念。 一个进程通常定义为程序的一个实例。在Win32中, 进程占据4GB的地址空间。与它们在MS-DOS和16位Windows操作系统中不同, Win32进程是没有活力的。这就是说,一个Win转载 2010-04-18 22:41:00 · 437 阅读 · 0 评论 -
Linux系统下的多线程编程入门
Linux系统下的多线程编程入门2006-01-17 09:13作者:pcstudy出处:blogchina责任编辑:方舟 相关专题: Linux设备驱动程序开发入门 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(pro转载 2010-04-18 22:43:00 · 369 阅读 · 0 评论 -
不确定参数个数的函数的实现
某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎样实现的呢?C编译器通常提供了一系列处理这种情况的宏,以屏蔽不同的硬件平台造成的差异,增加程序的可移植性。这些宏包括va_start、va_arg和va_end等。 ---- 采用ANSI标准形式时,参数个数可变的函数的原型声明转载 2012-07-04 22:43:44 · 1952 阅读 · 0 评论