关闭
当前搜索:

杂记 (7) —— windows + code

在有道云笔记markdown中插入图片的方法:将图片放在本地,右击属性,安全,对象名称。将其复制到()中即可。![image](C:\Users\win7\Desktop\link.PNG)注意,路径中不要有空格。static declaration of ‘***’ follows non-static declaration我们需要在调用静态函数之前有相应的声明 比如: 下面代码main()...
阅读(280) 评论(0)

进程间的通信

信号信号是软件中断的模拟,可以在人格时候发给进程,如果进程处于未执行状态,该信号就由内核保存,直到进程恢复执行再传递给它。 SIGKILL和SEGSTOP是应用程序无法捕捉和忽略的。 几个常用的快捷键和信号: ctrl + C —— SIGINT 中断信号 ctrl + \ —— SIGQUIT 退出信号 ctrl + Z —— SIGTSTP 进程挂起 functions about...
阅读(189) 评论(0)

汇编 —— AT&T小练习

堆栈是向下拓展的一个很简单的例子,将两个32字节的数字压入堆栈,查看esp堆栈寄存器前后的变化。.section .text .global main main: nop pushl $1 pushl $2调试查看:[edemon@CentOS workspace]$ gcc -gward -o pushpop pushpop.s [edemon@CentOS worksp...
阅读(240) 评论(0)

汇编 —— 尾数、负数加法、标准浮点数

大小尾数小尾数:低位字节存储在低内存位置或寄存器的低位地址,高位字节存储在高内存位置或寄存器的高位地址。 大尾数:和小尾数的存储顺序是相反的,低位字节存储在高位地址。intel采用的是小尾数存储格式: 检测:.section .data value: .int 0x127 .section .text .global main main: nop movl $0x127,...
阅读(569) 评论(0)

MySQL 触发器、事务、正则查询

触发器触发器是由MySQL基本命令事件触发某种特定操作。 创建触发器CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_bodytrigger_time: { BE...
阅读(274) 评论(0)

unix环境编程练习 (2)

系统调用系统调用是由操作系统核心提供,运行于核心态;普通函数调用由库函数或者用户自定义,处于用户态。那些标准函数都是由系统调用完成的。 查看系统调用的接口:[edemon@CentOS ~]$ man 2 syscalls进程不能访问内核,系统调用则是接口,由他们告诉内核进程的请求是什么。 错误码errno: 1–34存在于: /usr/include/asm-generic/errno-bas...
阅读(380) 评论(0)

汇编 —— 起步

作为非计算机专业的孩子,想要了解每一条C语句到底发生了什么,学习汇编也就变得水到渠成了。经过好几天的折腾,总算搞懂了一点点,一开始看王爽老师的《汇编语言 第三版》,讲得确实不错,但是8086cpu的汇编环境确实有点老,装了一个DOSBos,debug.exe倒是能用了,但是edit,masm啥的全都没有啊,更重要的是将来的工作都是在linux上进行,故而学到第四章就放弃了,转而学习linux环境的汇...
阅读(360) 评论(0)

MySQL 运算符、查询优化

MySQL运算符算术运算符mysql提供的运算符有+, -, *, /(DIV), %(MOD)mysql> select * from test; +----+------+-------+ | id | name | price | +----+------+-------+ | 1 | tag1 | 12 | | 2 | tag2 | 13 | | 3 | tag3 |...
阅读(673) 评论(0)

ANSI C (6) —— 指针、断言、信号、跳转

指针指针的声明下面的三条语句是等价的,但是我们常常使用的是第一种形式int *p,同时我们注意,他们是在初始化p而不是*p。#include #include int main() { int a=12; int *p1=&a; int* p2=&a; int * p3=&a; printf("p1: %p %d\...
阅读(416) 评论(0)

qt (1) —— 入门

环境: Qt Creator 2.8.1 Qt 5.1.1 gcc 4.9.1 我的第一份qt程序hello wolrd 控制台应用程序#include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); qDebug(...
阅读(316) 评论(0)

ANSI C (5) —— 结构、联合、位字段、枚举

结构结构体在声明的时候并没有分配任何的内存资源,只有定义了结构体变量才会产生相应的内存分配。 typedef和#define的区别#define仅仅是做简单的替换,而typedef是给某种数据类型创建一个替代名。 看这样的例子:#include #define charP char* int main(){ charP s1="I love you.", s2="he...
阅读(504) 评论(0)

ANSI C (4) —— 存储类别和类型限定

register寄存器(register)变量的被访问速率远远高于内存的被访问速率,所以编译优化常常这样做:将循环控制变量和使用频繁的变量安排在CPU的寄存器中。通常,仅仅在块内声明寄存器变量。取地址符&不能用于寄存器变量。 比如下面的代码将会发生错误: error: address of register variable ‘i’ requested register int i;...
阅读(365) 评论(0)

C++ primer (3) —— 多态

类类的访问修饰符 只有类和友元函数可以访问私有成员 保护成员比私有成员的开放性要更大一点,可以被子类访问 友元函数定义在类的外部,可以访问类的私有成员内联函数 如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。 在类定义中的定义的函数都是内联函数。this指针 this指针是成员函数的隐含参数,友元不是类的成员函数,所以友元函数没有this指针。类...
阅读(314) 评论(0)

杂记 (6) —— vim, gcc, gdb, man

vi vistual block缩进选中vistual block, shift + > or <gdb无法调试最新gcc编译的程序$ gcc -g -o fcopy fcopy.c $ gdb fcopy GNU gdb (GDB) Red Hat Enterprise Linux (7.2-90.el6) Copyright (C) 2010 Free Software Foundation,...
阅读(329) 评论(0)

shell编程 (3) —— 调试

shell调试技巧shell脚本虽然不像高级语言那样有专门的调试工具和调试机制,但是前辈们仍然想出了一些办法来进行shell脚本的错误检测。trapshell脚本在执行的时候会产生三伪信号(不是操作系统发出的信号)。我们可以使用trap捕获信号然后进行shell的调试。 shell伪信号的产生: 信号 产生条件 EXIT 正常退出 ERR 返回非零状态码 DEBUG...
阅读(372) 评论(0)
588条 共40页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:331297次
    • 积分:8856
    • 等级:
    • 排名:第2517名
    • 原创:575篇
    • 转载:13篇
    • 译文:0篇
    • 评论:36条
    我的链接
    最新评论