- 博客(19)
- 收藏
- 关注
原创 绝对地址转化为函数指针
typedef void (*func)(void)#define address 0X40000((func)address)();
2015-12-08 21:22:02
825
原创 引用
引用是C++提出来使用变量的另一种方式,有以下特点:1.声明时必须要进行初始化,int &a = b;2. 不能建立引用的数组,可以建立数组的引用3. 编译器将引用实现为const指针,实际上引用是占用内存
2015-12-08 21:20:30
290
原创 C语言函数入栈顺序
1. 函数中的第一条可执行语句的地址2. 函数参数:大多数是参数是从右向左顺序入栈(大部分编译器,原因在于C语言支持可变参数个数,使最左边的参数保持在栈顶)3. 局部变量C语言栈底为高地址、栈顶为低地址。静态变量不入栈
2015-12-04 17:29:34
691
原创 几个基础的排序算法的要点
1. 插入排序 从第i(i>=1, i=0...n-1)个数开始,每个数与前面的数进行比较,找到它的区间位置(a[j]2.选择排序 从第i(i>=1, i=0...n-1)个数开始,在剩下的所有数中,选择出最小的数与第i个数进行交换。完成排序。故称:选择! 改善型:在每轮选择中,选择出最小的值和第一个值交换,最大的值和最后一个值交换。这样就只需走一半的
2015-12-01 16:31:34
427
原创 linux内核网络模块笔记
1. 应用层要传送数据时,在网络层需要构造skb结构,填充相关报文数据,调用dev_queue_xmit函数进行发送2. dev_queue_xmit函数后,会进行入队、出队等一系列队列操作,而后调用hard_start_xmit指针函数传送到驱动中3. 驱动将skb解析出来,填到自身的传输单元,发送到底层硬件4. 底层硬件传输完成后,给驱动发送一个中断5. 在驱动中断中,将调用d
2015-12-01 15:31:46
673
原创 使用地址跳转的函数表达方式
在执行过程中需要跳到某一个地址去执行,方式:typedef void (*jumpFunc)(void);void JumpTo(int address){ ((jumpFunc)address)();}
2015-11-24 14:33:37
387
原创 JAVA中String常量存储在哪
String常量存储在常量池内,常量池在内存中是以表的形式存在。有一张固定长度的CONSTANT_String_info用来存储String常量。常量池在编译的时候确定下来,因此以下:String s1="hello";String s2="hello";String s3="he"+"llo";//连接的结果,也是常量String s4=new String("hello")
2015-11-18 15:54:09
3128
原创 中断服务程序的注意点
1. 不能有返回值2. 不能带入参3. 不能有重入性和影响性能的函数,类似printf等,遇到处理大量数据的任务,应另起一个线程去处理。4. 内容短小精悍!标准C语言是不包含中断,因此在教科书里是看不到这部分内容。编译开发商在标准C中增加了对中断的支持,提供新的关键字用于表示中断服务程序(ISR),不同的开发商支持不同的关键字,有__interrupt, #program in
2015-11-17 14:40:46
1896
原创 C与C++互相包含API注意点
extern "C"的作用:实现C++与C及其他语言的混合编程!简单而言,是C++为了向下兼容而实施的方法。而C语言是不支持extern “C++”声明,若加入,将引起编译错误。一、C++中要引用C中的函数和变量 C++中要调一个用C编写的库文件,在包含C头文件时,应添加extern "C",如下: extern "C"
2015-11-17 11:07:11
327
原创 bool变量与零值的比较
bool flag= FALSE;应选择如下编写方式:if(flag) if(!flag)不建议按以下方式写:if(flag==1) if (flag==0)//容易理解成flag是int类型数据if(flag==TRUE) if (flag == FALSE) //不同平台的TRUE值不一样,VB里是-1。这一点对于跨平台代码开发时尤为重要!
2015-11-16 16:13:01
1749
原创 int i=-20; unsigned int j = 10; i+j;的问题
int i=-20;unsigned int j = 10;unsigned int k=i+j;cout<<(int)k;//输出为-10cout<<k;//输出为4294967286从这可以理解:在i+j运算时,并不会把i的符号位去掉,而是也参与运算,并将结果都赋给了k,因此k的最高位其实是1。只不过打印显示不一样的问题,是选择的方式问题。
2015-11-16 16:09:10
3526
原创 第一个java项目,完!
应该说这不是第一个,第一个是在学java时,私底下偷偷编了个局域网五子棋大战游戏!这个项目说起来比较简单:一个可以编辑不同类别数据的界面、将数据按照Motorola格式组织并生成文件好吧。刚开始,所有的项目经理都说这很简单的,快去做吧。那么开展后,基本功能完成的很顺利,使用JButton、JTextField堆放上去,输入完成,点击生成按钮,OK,搞定!但是,接下来
2015-11-15 15:40:57
555
原创 char和int的转换
char->int: char c='A'; int d=(int)c;int->char: int c= 65; char d=(char)c;
2015-11-15 15:25:03
815
原创 JTable内容生效方式
JTable单元格中编辑完后需要按enter或者点击该表的其他单元格,才能使该单元格内容生效。当有多个表需要输入时显得很麻烦。一般习惯是,修改完,鼠标会直接点别的表。修改方式:table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);该属性将使单元格的聚焦方式发生变化,当前单元格失去焦点时,将结束编辑。
2015-11-15 15:16:50
391
原创 JTable悬停提示功能: getToolTipText
table = new JTable(){public String getToolTipText(MouseEvent e) { return 获取到的字符串内容;}}即可实现鼠标移到的位置上显示设置的字符串
2015-11-15 15:13:54
3675
原创 JScrollPane滑动灵敏度设置
scroll = new JScrollPane(component);JScrollBar Bar = null;Bar = scroll .getVerticalScrollBar();Bar.setUnitIncrement(40);
2015-11-15 15:03:16
1260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人