- 博客(31)
- 资源 (10)
- 收藏
- 关注
转载 指针做形参做局部变量以及内存分配
一级指针做形参:首先一定要明白形参和你传递参数的那个实参是两个不同的变量,即使同名也还依然不同。指针传递的是一个变量或者一个值的地址,但是它本身还是采用值传递的方式。即你不能使它指向另外一块地址,但是你可以改变它指向的空间里存的值。二级指针做形参:二级指针也是传值,但是他指向的地址是个一维指针,所以可以改变二维指针指向的地址空间里的内容也就是要申请空间的一维指针,不能改变二维指针本身的值,
2014-11-10 15:33:28 853
转载 C/C++中extern关键字详解
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而
2014-11-01 23:34:06 578
转载 解析IBM RTC在软件开发过程的应用实践
IBM RTC 是一个软件协作交付环境,它包含了计划制定及管理,工作项集成管理,代码版本控制管理,以及构建管理等诸多功能,这些功能使得Jazz环境的协作能力非常强大。在RTC中,用户可以通过工作项对工作内容进行信息更新和任务分配,借助工作项和人员之间的联系方便地进行信息的交流和展示,并可以从不同的层面和角度了解整个Team的工作进行情况。 这份文档描述了RTC应用于软件开发活动的通用模式
2014-11-25 16:40:39 9124
转载 IBM developerWorks 上 《Linux环境进程间通信》系列文章链接
1. 深刻理解 Linux 进程间通信(IPC)http://www.ibm.com/developerworks/cn/linux/l-ipc/index.html2. Linux 环境进程间通信(一): 管道及有名管道http://www.ibm.com/developerworks/cn/linux/l-ipc/part1/index.html
2014-11-24 12:08:11 2018
原创 IBM developerWorks 上 《Posix线程编程指南》系列文章链接
1. http://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part1/2. http://www.ibm.com/developerworks/cn/linux/thread/posix_threadapi/part2/3. http://www.ibm.com/developerworks/cn/li
2014-11-24 12:06:32 879
原创 libcurl使用ftp的一个例子
#include #include "curl.h"//#include #include #include #include #include #include#define REMOTE_URL "ftp://192.168.1.164"int Upload_FTPfile(char *url,char * filename){ CURL *curl;
2014-11-21 11:05:11 1138
转载 POSIX 线程详解(一)
线程是有趣的了解如何正确运用线程是每一个优秀程序员必备的素质。线程类似于进程。如同进程,线程由内核按时间分片进行管理。在单处理器系统中,内核使用时间分片来模拟线程的并发执行,这种方式和进程的相同。而在多处理器系统中,如同多个进程,线程实际上一样可以并发执行。那么为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间。不同的线程可以存取内存中的同
2014-11-20 13:27:17 575
转载 多进程与多线程的一个简单解释
1。单进程单线程:一个人在一个桌子上吃菜。2。单进程多线程:多个人在同一个桌子上一起吃菜。3。多进程单线程:多个人每个人在自己的桌子上吃菜。多线程的问题是多个人同时吃一道菜的时候容易发生争抢,例如两个人同时夹一个菜,一个人刚伸出筷子,结果伸到的时候已经被夹走菜了。。。此时就必须等一个人夹一口之后,在还给另外一个人夹菜,也就是说资源共享就会发生冲突争抢。1。对于 Wind
2014-11-20 11:13:16 1617
转载 线程的分离状态 pthread_attr_setdetachstate 函数使用
在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。 线程的分离状态决定一个线程以什么样的方式来终止自己。在默认情况下线程是非分离状态的,这种情况
2014-11-19 18:12:59 844
转载 pthread_join函数
pthread_join使一个线程等待另一个线程结束。 代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。 所有线程都有一个线程号,也就是Thread ID。其类型为pthread_t。通过调用pthread_sel
2014-11-19 17:34:48 691
转载 Linux watchdog
Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序内核 watchdog 模块:内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备,就会导致在内核中启动一个 1分钟的定时器,此后,
2014-11-19 15:42:45 1915
转载 BCM7xxx目录结构
目录:编译工具链:/opt/toolchains/stbgcc-4.5.3-2.2 tar -jxvf stbgcc-4.5.3-2.2.tar.bz2linux内核码:/opt/brcm/linux -> ./stblinux-2.6.37 tar -jxvf stblinux-2.6.37-3.1.tar.bz2根文件系统:/op
2014-11-19 11:49:07 2762
转载 使用 watchdog 构建高可用性的 Linux 系统及应用
Linux 在不同领域如电信、终端便携设备等得到广泛应用,不同领域的应用对 Linux系统也提出相应的需求。Carrier Grade Linux 是 OSDL(Open Source Development Lab)发布的电信级 Linux 的标准,在系统可用性这部分指出 Linux 必须支持 watchdog 机制。Linux 内核从 1.3.51 版本开使提供硬件、软件 watchdog 驱
2014-11-19 11:04:47 516
转载 Linux 的启动流程
Linux 的启动流程作者: 阮一峰半年前,我写了《计算机是如何启动的?》,探讨BIOS和主引导记录的作用。那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入
2014-11-17 10:10:46 459
转载 空指针、零指针、野指针
1. 空指针、NULL指针、零指针1.1什么是空指针常量0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值)。至于系统选取哪种形式作为空指针常量使用,则是实现相关的。一
2014-11-12 16:34:38 873
转载 数组名作为函数的参数(1)
9.5.4 数组名作为函数的参数(1)在前面章节介绍函数时,曾介绍过用数组名作函数的实参和形参的情况。在学习指针变量之后,可以从指针角度对这种参数的传递进行理解。数组名就是数组的首地址,当实参向形参传送数组名时,实际上就是传送数组的地址,形参得到该地址后就与主调函数中的实参指向同一数组。这样,在被调函数中对数组元素的值进行修改返回主调函数后,通过实参同样可以访问到。这就解决了C函
2014-11-11 17:32:23 1909
转载 动态内存分配
前言1.数组的元素存储于内存中连续的位置上。当一个数组被声明时,它所需要的内存在编译时就被分配。2.但是我们也可以使用动态内存分配在运行时为它分配内存。3.为什么使用动态内存分配1>当使用数组时,必须用一个常量来指定数组的长度。但是,有时候,数组的长度常常在运行时才知道。因此,在某些情况下,我们通常采取声明一个较大的数组,它可以容纳可能出现的最多元素。2>该
2014-11-11 11:21:05 748
转载 内存分配时间
1、变量在声明时即分配内存,此时将根据变量的内存分配内存大小,如int类型4字节,float类型4字节,double类型8字节。如下例中的a.2、但对于数组,有以下几种情况(以int类型为例):(1)声明数组时即指定数组大小N,则此时可按N*sizeof(int)的大小分配内存。如下例中的c。(2)声明数组时虽然未指明大小,但声明的同时也对数组进行了初始化,则按初始化时的元
2014-11-11 11:19:08 1189
转载 指针与数组的对比
7.3指针与数组的对比 C++/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比
2014-11-10 15:46:19 499
转载 理解Linux系统/etc/init.d目录和/etc/rc.local脚本
本文英语版本来自:http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/ 以下内容是作者自己的翻译版本,如需转载到CSDN外其他网站,请注明本文链接。 一、关于/etc/init.d 如果你使用过linux系统,那么你一定听说过init.d目录。这个目录到底是干嘛的
2014-11-07 18:28:33 529
转载 什么时候使用const
const传奇原作:Rahul Singh 翻译:zhigang[译者注]有些地方按原文解释不通,译者根据自己的理解作了适当修改。如有不妥之处,请告知[email protected]或参考原文。原文来自www.codeproject.com 简介当我自己写程序需要用到const的时候,或者是读别人的代码碰到const的时候,我常常会停下来想一会儿。许多程序员从来不用
2014-11-07 14:16:40 2543
转载 mini_httpd,CGI 是什么
什么是CGI 1. 定义: CGI(Common Gateway Interface)是HTTP服务器与你的或其它机器 上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 2. 功能: 绝大多数的CGI程序被用来解释处理杰自表单的输入信息,并在服 务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使 网页具有交互功能。 3. 运行环境: CGI程序在UNIX操作系统上CERN或N
2014-11-06 16:30:44 2419
原创 C语言中,如何判断一个字符数组是空的?
字符数组不等价于char字符串指针的作为数组的时候,定义多长,内存分配空间就是多长作为char字符串指针,尾部是自动增加了一个\0字符的这个就是你用\0作为结束判断找不到正确结束位置的原因字符数组是否为空是要自己定义空的概念的如果你的定义是把字符数组当中字符串来理解的话,第一个元素是否是\0字符就是判断准则了
2014-11-05 10:38:18 39867
转载 symlink和readlink函数-符号链接
一、symlink函数symlink函数用于创建一个符号链接文件。函数原型:[cpp] view plaincopy#include int symlink(const char *actualpath, const char *sympath); 返回值:如果创建成功则返回0,否则返回-1参数:
2014-11-03 22:10:59 1615
转载 指针直接赋值与strcpy区别
C/C++ code?12345char* p1="abcdefg";char* p2; p2=p1;strcpy(p2,p1);p2=p1;strcpy(p2,p1);这两个语句有什么区别??解析:
2014-11-03 17:03:29 3167
转载 warning: assignment discards qualifiers from pointer target type
错误:D:/samples/dlfunc.c: In function 'load_libnotify':D:/samples/dlfunc.c:46: warning: assignment discards qualifiers from pointer target typeD:/samples/dlfunc.c:52: warning: assignment discards
2014-11-03 16:47:34 3135
转载 linux动态编译和静态编译
为了使用方便,可以把这两个函数接口定义为动态链接库或静态链接库。用动态链接库编译生成的可执行文件需调用.so文件方可正常运行,灵活但稍显麻烦;用静态链接库编译生成的可执行文件可直接运行,不用再调用如.so般的依赖库文件,简单但不灵活。静态链接库:1、编译生成目标文件gcc -c struct.c2、创建静态库ar cqs libstruct.
2014-11-02 15:23:45 557
转载 warning: deprecated conversion from string constant to "char *"
今天碰到了这个警告,老老实实的google了一下,以下是收获:问题是这样产生的,先看这个函数原型:void someFunc(char *someStr);再看这个函数调用:someFunc("I'm a string!");把这两个东西组合起来,用最新的g++编译一下就会得到标题中的警告。为什么呢?原来char *背后的含义是:给我个字符串
2014-11-02 00:15:40 621
原创 warning: assignment makes pointer from integer without a cast
编译的时候报警告:warning: assignment makes pointer from integer without a castwarning: assignment makes pointer from integer without a castwarning: assignment makes pointer from integer without a
2014-11-01 23:17:53 60555
LTE—UMTS长期演进理论与实践
2011-11-17
EDA技术实用教程(第三版)答案
2010-05-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人