基础知识
文章平均质量分 79
stephen_kl
现在不学,更待何时……
展开
-
Source Insight 3.5 代码注释和取消注释快捷键的设置
source insight转载 2022-08-25 15:58:04 · 1258 阅读 · 0 评论 -
光电开关E3JK-R4M1的硬件连接
五根信号线:棕蓝灰白黑棕接12V蓝接地灰是公共线白是常闭黑是常开所谓常闭就是在不接电情况下,与公共线是短路导通的,常开即与公共线是断开的,不导通。加上电之后,反光镜放在光电开关的前面,灰白是导通的;拿走反光镜,灰白断开。至于那根黑线,基本上一直断开状态,因为只用一路,暂时不管。按道理应该是与白线相同条件下显示出相反的状态。如果用手挡住光电开关也可以影响输原创 2015-05-20 10:17:26 · 4088 阅读 · 1 评论 -
malloc 和alloc及calloc的区别
C语言跟内存分配方式 (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3)从堆上分配,亦称动态内转载 2016-05-25 19:26:28 · 535 阅读 · 0 评论 -
sizeof与strlen的区别
char str[20]="0123456789"; int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响==================================转载 2016-06-29 13:25:25 · 598 阅读 · 3 评论 -
探讨C语言中关键字volatile的含义
volatile 的意思是“易失的,易改变的”。这个限定词的含义是向编译器指明变量的内容可能会由于其他程序的修改而变化。通常在程序中申明了一个变量时,编译器会尽量把它存放在通用寄存器中,例如ebx。当CPU把其值放到ebx中后就不会再关心对应内存中的值。若此时其他程序(例如内核程序或一个中断)修改了内存中它的值,ebx中的值并不会随之更新。为了解决这种情况就创建了volatile限定词,让代码在引转载 2016-06-29 17:05:03 · 587 阅读 · 3 评论 -
C语言中const的用法
const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。 我们来分情况看语法上它该如何被使用。 1、函数体内修饰局部变量。 例: void func() { c转载 2016-06-30 14:16:04 · 1705 阅读 · 0 评论 -
关键字static/const的作用
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函转载 2016-06-30 14:17:34 · 1765 阅读 · 0 评论 -
const T vs. T const ——Dan Saks 【翻译】
写程序的过程中遇到了const的用法,上网搜了点资料,都说Dan Saks的这篇文章讲的比较全面,就打算好好看看,可惜是英文的,因此决定自己来翻译一遍,为了更好地理解const的同时也能复习一下英语。原文可以参见:http://blog.csdn.net/bianbian17556231/archive/2010/03/20/5398276.aspx 译文:转载 2016-06-30 14:27:37 · 599 阅读 · 0 评论 -
ubuntu 14.04 + vim + ctags + taglist安装与使用
https://blog.csdn.net/yzhang6_10/article/details/68067521 安装ctags,执行如下命令: sudo apt-get install exuberant-ctags注意:也可以使用源码安装 安装taglist,具体步骤如下: 1.下载taglist,具体网址如下:http://www.vim.org/script...转载 2018-08-16 09:24:32 · 485 阅读 · 0 评论 -
C语言指针的初始化和赋值
1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不能够是变量,也不能够直接用整型地址值(可是int*p=0;除外,该语句表示指针为空)。此时,*p仅仅是表示定义的是个指针变量,并没有间接取值的意思。比如:int a = 25;int *ptr = &a;int b[10];int *point = b; int *p = &...转载 2019-04-16 14:02:17 · 2200 阅读 · 0 评论 -
C语言堆栈入门——堆和栈的区别
格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,转载 2014-08-06 10:48:15 · 787 阅读 · 0 评论 -
Win7无线网卡开软ap的方法 | 建立WIFI热点 [图文教程]
实现方式一:l 无线网卡的软AP模式,对于经常出差以及学生宿舍等没有无线路由器的场合,不仅能解决燃眉之急,而且也很方便实用。不过在WindowsXP下,需要使用 网卡的驱动程序将无线网卡设置为AP模式,费时费力,在需要使用无线网卡的时候还需要重新设置,很不方便,不过Windows7提供了更加简单的设置方 法。l 无线网卡的软AP模式,对于经常出差以及学生宿 舍等没有无线转载 2013-07-24 15:31:13 · 14581 阅读 · 0 评论 -
Linux查看当前目录下文件的个数
http://www.examw.com/linux/all/146598/查看当前目录下文件的个数 ls -l | grep “^-” | wc -l查看当前目录下文件的个数,包括子目录里的。ls -lR| grep “^-” | wc -l查看某目录下文件夹(目录)的个数,包括子目录里的。ls -lR| grep “^d” | wc -l简要说明:ls转载 2012-10-18 09:56:06 · 1054 阅读 · 0 评论 -
堆栈,堆栈,堆和栈的区别
堆和栈的区别 (转贴) <br />非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别<br />一、预备知识—程序的内存分配<br />一个由c/C++编译的程序占用的内存分为以下几个部分<br />1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。<br />2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似转载 2010-09-15 15:41:00 · 647 阅读 · 0 评论 -
Ubuntu 环境变量
<br />http://blog.csdn.net/xiaosu_521/archive/2008/03/09/2160458.aspx<br /><br /><br />环境变量配置文件<br />在Ubuntu中有如下几个文件可以设置环境变量<br />1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。<br />2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取转载 2010-09-06 13:39:00 · 670 阅读 · 0 评论 -
解决svn的working copy locked并且cleanup不能恢复的情况
产生这种情况大多是因为上次svn命令执行失败且被锁定了。如果cleanup没有效果的话只好手动删除锁定文件。cd 到svn项目目录下,然后执行如下命令del lock /q/s就把锁删掉了。转载 2011-06-13 14:44:00 · 1724 阅读 · 0 评论 -
TERMIOS详解
http://blog.csdn.net/guo_wangwei/article/details/1102931TERMIOSNAMEtermios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow, cfm转载 2011-07-28 14:11:11 · 323 阅读 · 0 评论 -
USB OTG功能是什么意思?
USB OTG功能就是可以不通过PC,直接从终端上进行数据的传送,比如楼主想从自己的galaxy R也就是三星i9103上传一首歌给一个MP3,普通的情况下必须使用电脑才能够实现,有了USB OTG就可以不用PC,直接传了。什么是USB OTG? USB OTG是USB On-The-Go的缩写,是近年发展起来的技术,2001年12月18日由USB Implement转载 2011-12-13 10:12:58 · 4240 阅读 · 0 评论 -
手机中电容屏和电阻屏有什么区别?
电容屏,静电感应,需要导体接触屏幕才会有反应,所以,不需要很用力,只要手指轻轻触摸屏幕即可被识别。那么,普通的手写笔就没法用于电容屏了,电容屏有专用手写笔,带静电的。 电容屏的优点是感应灵敏,支持多点触摸,更适合娱乐玩游戏。缺点是不能精确定位,比如编辑文档的时候,你要想精确点击编辑某个字或者标点符号就没那么容易了。电阻屏,压力感应,需要用力才会有反应,所以有些女生总感觉电阻屏不灵敏,其实是转载 2011-12-13 10:36:36 · 936 阅读 · 0 评论 -
使用 malloc后free出错 错误所在
偶认为:这个问题是指针使用过程中很容易出错而且自己又很难发现的一个易疏忽问题-----------即:指针人为的更改了原来的指向地址。以下是一个很好的案例,其中红色字体为正确解。问题:用malloc与free出错,望指导,谢谢 程序很简单,用于测试他们的用法,因为在一个大点定程序中出错想找原因。#includevoid main(){char *test=ma转载 2012-03-15 23:25:01 · 6229 阅读 · 1 评论 -
Sizeof与Strlen的区别与联系
Sizeof与Strlen的学习【几个例子】例子1:char* ss = "0123456789";sizeof(ss) //4, ss是指向字符串常量的字符指针strlen(ss) //10, 只能用它获得这个字符串的长度char ss[] = "0123456789";sizeof(ss) //11, ss是数组,计算到‘\0’位置,因此是10+1strlen(转载 2012-04-24 19:59:27 · 1110 阅读 · 0 评论 -
Linux tar打包命令
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar[root@linux ~]# tar -cvf /tmp/etc.tar /etc [root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc [root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc # 特别注意,在参数 f 之后的转载 2012-05-05 12:22:28 · 720 阅读 · 0 评论 -
内核中的likely和unlikely宏的使用
<br />在内核代码中经常会看到unlikely和likely的踪影。他们实际上是定义在 linux/compiler.h 中的两个宏。<br /><br /> #define likely(x) __builtin_expect(!!(x), 1)<br /> #define unlikely(x) __builtin_expect(!!(x), 0)<br /> 这里的__built_expect()函数是gcc的內建函数。<br />至于为什么要在内核代码中使用这两个宏,主要的目的是为了进转载 2010-08-03 16:45:00 · 698 阅读 · 0 评论