2012年7月1日

ctags: 提示错误ctags: unrecognized option '--format=2'

摘要: 重新安装Ubuntu系统时,用原来的备份的家目录下的.vimrc文件和.vim文件夹内的所有内来恢复vim 的使用环境,但是在使用Taglist 插件生存 tags的时候提示:Taglist: Failed to generate tags for ....(a file)ctags: unrecognized option '--format=2'^@^ITry `ctags --help' for a complete list of options.^@百度了一下,找到一种解决的方法:sudo apt-get install ctags ,然后会提示如下信息,安装 阅读全文

posted @ 2012-07-01 09:27 沉沉-_- 阅读(2844) 评论(1) 推荐(0) 编辑

2012年6月26日

怎么在Ubuntu上替换ESC键

摘要: 最近拆了次笔记本电脑,但装上的时候不小心,把Esc键弄坏了,又没银子去换个笔记本键盘,所以就在网络上鼓捣鼓捣怎么替换ESC键。想了想用ESC键的场合主要又VI ,和Ubuntu中退出一些系统菜单时需要使用。在VIM 中可以Ctrl + [ 替代 ESC 来切换不同的模式,但是在Ubuntu系统中没有其他的快捷键来替代ESC键,应该只能将其他的不常用的按键绑定为ESC键。在网上搜了搜,还真找到一篇文章,在这篇文章的指导下,将不常用的Contrl_R(右Ctrl键)替换为ESC键。具体的做法是在用户的家目录下建立.Xmodmap 文件,里面输入以下代码,重启即可:1 remove C... 阅读全文

posted @ 2012-06-26 22:35 沉沉-_- 阅读(2944) 评论(0) 推荐(0) 编辑

轻松解决Rhythmbox乱码问题---转

摘要: 今天在http://blog.xtit.net/read.php/743.htm看到怎样解决困惑我已久Rhythmbox乱码,下面是解决办法: 首先,需要有软件包mid3iconv。如果你的系统中没有安装它,可以通过如下代码自动安装:sudo apt-get install python-mutagen 然后转到你的MP3目录,执行以全命令进行转换:mid3iconv -e GBK *.mp3 如果需要包含子目录,可以将后缀改成如下格式:打命令的时候文件名字给 "*/*.mp3" 就行了。比如mid3iconv -e GBK */*.mp3最后,重新导入一次rhythmbo 阅读全文

posted @ 2012-06-26 13:33 沉沉-_- 阅读(232) 评论(0) 推荐(0) 编辑

2012年5月5日

C 语言中赋值表达式的返回的逻辑值

摘要: 我们知道,在C 语言中经常使用 诸如 if(表达式){} ,while (表达式) {}形式的判断语句,当表达式为真时执行 {} 中的函数体,但是当表达式为赋值表达式时怎么判断该表达式为真还是为假?或者当表达式为逗号表达式式又该怎么使用?记住一个原则:C语言赋值表达式所代表的值就是被赋值变量最终被赋予的值。以下测试代码可以证明以上观点:View Code 1 #include <stdio.h> 2 3 int main(int argc, const char *argv[]) 4 { 5 int i; 6 printf("the value is %d\n" 阅读全文

posted @ 2012-05-05 16:50 沉沉-_- 阅读(5531) 评论(0) 推荐(0) 编辑

2012年4月18日

C语言深入浅出可变参数函数的使用技巧(转)

摘要: http://hi.baidu.com/phps/blog/item/1fe5768d628c6112b21bba87.html深入浅出可变参数函数的使用技巧本文主要介绍可变参数的函数使用,然后分析它的原理,程序员自己如何对它们实 现和封装,最后是可能会出现的问题和避免措施。VA函数(variable argument function),参数个数可变函数,又称可变参数函数 。C/C++编程中,系统提供给编程人员的va函数很少。*printf()/*scanf()系列函数 ,用于输入输出时格式化字符串;exec*()系列函数,用于在程序中执行外部文件( main(int argc,char*a 阅读全文

posted @ 2012-04-18 20:54 沉沉-_- 阅读(349) 评论(0) 推荐(0) 编辑

2012年4月8日

void 指针 (转载)

摘要: Void 指针: Cpp代码 void*pointer_variable;void这是是作为一个关键字来使用。参考指针的定义和使用,我们知道所定义指针的数据类型同指针所指的数据类型是一致的。所分配给指针的地址也必须跟指针类型一样。例如:Cpp代码 inti;floatf;int*exf;float*test;thenexf=&i;int类型指针指向int变量的地址空间,所以是对的。如果写成:Cpp代码 exf=&f;这条语句就会产生错误。因为int类型的指针指向的是一块float变量的地址空间。同样,如果我们试图把float类型的指针指向一块int类型的地址空间,也是错误的,例 阅读全文

posted @ 2012-04-08 18:46 沉沉-_- 阅读(1307) 评论(0) 推荐(1) 编辑

2012年4月2日

如何在64位的linux系统上使用汇编和C语言混合编程

摘要: 最近在看于渊的一个操作系统的实现,在第五章的时候汇编和C 同时使用时碰到了问题:代码如下foo.s 1 extern choose 2 3 ;;;;;the data area 4 num1st dd 3 5 num2nd dd 4 6 7 global _start 8 global myprint 9 10 11 _start: 12 13 push dword [num1st] 14 push dword [num2nd] 15 16 ... 阅读全文

posted @ 2012-04-02 19:55 沉沉-_- 阅读(8004) 评论(0) 推荐(0) 编辑

2012年2月15日

Verilog 初学笔记--顺序操作 和 并行操作的一点思考(参考黑金教程:Verilog HDL那些事 建模篇)

摘要: Verilog 是一门建模语言,而不是一门编程语言。同众多的编程语言相比,他最大的特点是并行性。即Verilog 不但能描述串行操作,也能描述并行操作。如果理解了Verilog 的并行设计原则,则设计的系统不但层次分明,且易于理解和维护。如对于编程入门的流水灯,假设满足以下功能:三个LED灯,在三个时钟周期内分别输出高电平,如下图波形:在三个时钟周期内LED0,LED1,LED2轮流输出高电平。如果用C语言编程,可能会这样:While(1) { LED=001;delay(1); LED=010;delay(1); LED=100;delay(1);}可以看出,思考的过程是: 1:亮第一个灯, 阅读全文

posted @ 2012-02-15 23:29 沉沉-_- 阅读(5099) 评论(0) 推荐(1) 编辑

Verilog初学笔记--模块划分的好处

摘要: 在用Verilog 语言进行RTL建模的时候,适当的对要完成的模块进行划分是一个很好的建模习惯,在保证功能要求的满足的前提下,能够使自己的代码容易理解,维护,并减少一些容易忽视的错误。在编写大型的程序时尤其重要。以下就用计数器四分频时钟的两种实现方式来对比以下划分模块与否的优缺点。 四分频后的波形要求是第一个时钟周期输出高电平,后三个时钟周期输出低电平,占空比为25%。可以很容易的看出来需要一个两位的计数器,并在计数的过程中进行判断,什么时候输出高电平,什么时候输出低电平。 可以看出来四分频系统设计到两个操作:对时钟进行计数和判断输出波形。这两个部分可以划分为两个模块:计数器模块和判断输出模块 阅读全文

posted @ 2012-02-15 16:59 沉沉-_- 阅读(2928) 评论(0) 推荐(1) 编辑

2012年2月13日

gtk-warning: Uable to locate theme engine in module_path: pixmap

摘要: the solution is that : sudo apt-get install gtk2-engines-pixbuf 阅读全文

posted @ 2012-02-13 10:43 沉沉-_- 阅读(425) 评论(0) 推荐(0) 编辑

2011年12月24日

怎么将一个类的成员函数作为指针传递给另一个类的成员函数

摘要: 今天帮同学解决了一个问题,怎么把一个类的成员函数作为指针传递给另一个类的成员函数。以前只接触过C语言中的函数指针:#include <iostream.h>void add(int a,int b){cout<<"the value of add is "<<a+b<<endl;}void mul(int a,int b){cout<<"the value of multiple is "<<a*b<<endl;}/*void (*fun)(int,int)是要传入的函数 阅读全文

posted @ 2011-12-24 20:26 沉沉-_- 阅读(5275) 评论(0) 推荐(0) 编辑

2011年12月15日

C++中关于流的概念

摘要: 怎么从键盘中读取一个整数并包括错误处理int a;while (cin.get(ch1)) { if (ch1=='\n') cout<<"input the right number:"; //第一次输入换行; else if (cin.get(ch2),ch2=='\n') { a=ch1-'0'; if (a>0 && a<10) break; else cout<<"input the right number:"; //一位数字输入错误; } e 阅读全文

posted @ 2011-12-15 21:00 沉沉-_- 阅读(315) 评论(0) 推荐(0) 编辑

2011年10月30日

C/C++一个容易犯的低级错误--分号引起的错误

摘要: error C2143: syntax error : missing '{' before 'PCH creation point'造成这个错误的原因是由于头文件中的函数声明遗漏了分号;百度一下其他原因要么是类的声明忘记加分号了,要么是使用了中文的分号;所以,碰到这种错误,一定要先去看看是不是哪个地方的分号错误。 阅读全文

posted @ 2011-10-30 17:00 沉沉-_- 阅读(617) 评论(0) 推荐(0) 编辑

2011年10月28日

C/C++中的头文件--多文件组织

摘要: --C语言的要求:函数先声明后定义--example 1: test1.c中#include<stdio.h>int main(void){ printf("%d\n",fun(5));}int fun(){ printf("Hello World\n");}//代码编译,链接都能够通过。但是会有警告:warning C4013: 'fun' undefined; assuming extern returning intwarning C4716: 'fun' : must return a value通过可 阅读全文

posted @ 2011-10-28 19:25 沉沉-_- 阅读(3305) 评论(0) 推荐(1) 编辑

2011年10月25日

函数的返回值--返回变量和引用

摘要: --惯例:先上一段简单的代码#include <iostream.h>float temp; //定义一个全局变量float fn1(float r){ temp =(float) (r*r*3.14); return temp;}float& fn2(float r)//返回引用{ temp = (float)(r*r*3.14); return temp;}void main(){float a=fn1(5.0); ////float& b=fn1(5.0); //VC++ 6.0 error, (其他的编译器可能是warning)float c=fn2(5.0 阅读全文

posted @ 2011-10-25 18:57 沉沉-_- 阅读(2528) 评论(0) 推荐(0) 编辑

类的默认构造函数--为何使用引用以及什么时候显式的给出

摘要: 先上一段简单代码:#include<iostream>using namespace std;class test{public:test(){cout<<"默认构造函数"<<endl;}~test(){cout<<"析构函数"<<endl;}void fun1(test & t){cout<<"fun1 called"<<endl;}void fun2(test t){cout<<"fun2 called"&l 阅读全文

posted @ 2011-10-25 12:32 沉沉-_- 阅读(392) 评论(0) 推荐(1) 编辑

2011年10月18日

多操作赋的语义判断(如 int& *a和int* &a)

摘要: C++语言经常会有涉及到多操作符的变量或者数组定义,怎么判断其语义着实让人费解,下面谈谈我的个人理解,如有不对,请留言并谈谈您的理解。 首先用一个小小的测试程序:#include <iostream.h>void main(){int intOne = 6;int& rInt=intOne;int *pp=&intOne;//int& *p = &intOne;//编译错误,不能定义指向引用的指针;//int& *p = &rInt;//编译错误,同样不能定义指向引用的指针;int* &p = pp; //编译正确,可以定义指 阅读全文

posted @ 2011-10-18 17:39 沉沉-_- 阅读(921) 评论(0) 推荐(0) 编辑

2011年10月12日

转载:VC6.0中容易遇到的错误。http://hi.baidu.com/%C8%FD%C9%EE/blog/item/4a756ff2cb6bdb19b07ec5df.html

摘要: VC中LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16错误2009-10-09 11:11学习VC++时经常会遇到链接错误LNK2001,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。产生LNK2001错误的原因:一个是由于编码错误导致的LNK2001,在这不想详细说.另一个由于编译和链接的设置而造成的 LNK2001.最经常发生的是:"LIBCD.lib(wincrt0.obj) : error LNK2001 阅读全文

posted @ 2011-10-12 16:46 沉沉-_- 阅读(710) 评论(0) 推荐(0) 编辑

2011年10月10日

C语言的体系结构--main函数存在的必然性(听杨力祥老师的课)

摘要: 注:不是原创,课堂上听来的,防止遗忘,所以记下来! C语言的体系结构分为两个部分:数据和函数,当然最终这两个部分都是要进入到计算机的内存中去。 函数在编译后编程可执行代码,存放在代码区;数据分为几种:局部与全局,auto和static,简单的说就是放在静态数据区,堆中和栈中。 对于全局的变量和静态的变量是在main函数之前创建的。 C语言有个规定:全局区不能有可执行代码,可执行代码必须进入函数中。但是C语言中的函数都是全局的,这就导致函数不能嵌套定义:嵌套定义导致函数内部定义的函数成了局部函数。所以要解决各个函数的执行问题只能通过函数的嵌套调用。这时就需要有一个函数首先被执行,来调... 阅读全文

posted @ 2011-10-10 00:15 沉沉-_- 阅读(1786) 评论(0) 推荐(0) 编辑

2011年9月27日

C和C++中指针与地址的区别

摘要: 在C语言和C++中,指针是非常重要的一部分,程序的执行过程中可以通过指针来找到要操作的数据和可执行的函数代码。很多人就明白指针和地址是有区别的,但是很少有人能说清楚这种区别。 指针总共可以分为两种,函数指针和数据指针。而指针和地址最大的区别就是指针是有类型的,地址是没有类型的。我们当然可以通过绝对地址的方式找到函数和数据,但是地址是没有类型的,不能对地址进行算术操作,在涉及诸如数组等操作时就不能通过地址的自增和自减来访问数组的各个变量。但是通过对指针的引用,就可以通过对指针进行一系列的加加减减操作很方便的访问数组的各个元素。 所以,指针是由地址和类型两部分构成的,指向数据的指针不仅记录... 阅读全文

posted @ 2011-09-27 16:15 沉沉-_- 阅读(4247) 评论(1) 推荐(0) 编辑

导航