`
文章列表
问题一:[Warning] assignment makes pointer from integer without a cast 问题二:[Warning] assignment from incompatible pointer type   举例说明 typedef struct _Item{   char * key;   char * value;   unsigned int count;   struct Item * next;} Item;   1、  NULL ==(np->key = strdup(key) 产生问题一: 因为np->ke ...
     在编写程序是发现string.h中的strtok有些和想象的不同      比如对字符串“|2|”以"|"切分时,原以为会返回,第一为空字符串,第二个为2 ,第三个为空字符串。但是当使用时发现,第一为2,二、三均为NULL       #include <stdio.h> #include <stdlib.h> #include <string.h> char* split(const char *strToken,const char* strDelimit) { char *p; c ...
第三题(共四题 100 分):字符串替换( 30 分) 题目描述:请编写程序,根据指定的对应关系,把一个文本中的字符串替换成另外的字符串。 输入数据:程序读入已被命名为 text.txt 和 dict.txt 的两个输入数据文本文件, text.txt 为一个包含大量字符串(含中文)的文本,以 whitespace 为分隔符; dict.txt 为表示字符串( s1 )与字符串( s2 )的对应关系的另一个文本(含中文),大约在 1 万行左右,每行两个字符串(即 s1 和 s2 ),用一个 \t 或空格分隔。 dict.txt 中各行的 s1 没有排序,并有可能有重复,这时以最后出现的那 ...
  头文件 #ifndef __GHASH_H_ #define __GHASH_H_ #define HASHSIZE 512 typedef struct _Item { char * key; char * value; struct Item * next; } Item; void GHashInit(); Item * HashInSert(char * key,char * value); int HashRemove(char * key); Item * HashSearch(char * key); void Fr ...
// ELF Hash Function unsigned int ELFHash(char *str) { unsigned int hash = 0; unsigned int x = 0; while (*str) { hash = (hash << 4) + (*str++);//hash左移4位,当前字符ASCII存入hash if ((x = hash & 0xF000000 ...
.8 换出与丢弃页面子       当系统中物理内存减少时,Linux内存管理子系统必须释放物理页面。这个任务由核心交换后台进程(kswapd )来完成。 核心交换后台进程是一种特殊的核心线程。它是没有虚拟内存的进程,在物理地址空间上以核心态运行。核心交换后台进程的名字容易使人误解,其实它完成的工作比仅仅将页面交换到系统的交换文件中要多得多。其目标是保证系统中有足够的空闲页面来维持内存管理系统运行效率。  此进程由核心的init进程在系统启动时运行,被核心交换定时器周期性的调用。       当定时器到时后,交换后台进程将检查系统中的空闲页面数是否太少。它使用两个变量:free_pages_ ...
存储管理子系统时操作系统中最重要的组成部分之一。在早期计算时代,由于人们所需要的内存数目远远大于物理内存,人们设计出了各种各样的策略来解决此问题,其中最成功的是虚拟内存技术。它使得系统中为有限物理内存 ...

Gnome的使用总结

在panel添加自定义程序 http://www.boya.so/archives/14/     Gnome WIKI https://wiki.archlinux.org/index.php/GNOME_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)   Customizing the GNOME Shell http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html      How to add a panel icon without dragging and ...
系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境 ...

shell 常用的技巧

声明:一般都是使用bash没有测试是否与其他shell兼容 1、变量与数字相加  a=1  a=$(($a+4))  echo $a  # 5   2、 一个文件中的数字相加 例 cat a.txt    1    4    5 awk '{sum += $1} END{print sum}' a.txt # 10   3、统计字符个数     a=$(echo "aaaaaabbb" | grep -o 'a' | wc -l )  echo $a #6   4、去除括号内内容  abc(def)ghi  变为 abcghi  sed ...
gtk1.1时代使用gtk-config来配置的 gtk+2.0则用pkg-config来配置,所以如果系统默认安装了gtk+2.0将无法编译一些旧的软件             gtk-config属于包libgtk1.2-dev 可以使用以下命令安装 sudo apt-get install libgtk1.2-dev   如果无法安装,则添加一个脚本 sudo nano  /usr/bin/gtk-config #!/bin/sh module="gtk+-2.0" if test "$1" = &qu ...
题目描述:请编写程序,找出下面 “ 输入数据及格式 ” 中所描述的输入数据文件中最大重叠区间的大小。 对一个正整数 n ,如果 n 在数据文件中某行的两个正整数(假设为 A 和 B )之间,即 A<=n<=B 或 A>=n>=B ,则 n 属于该行;如果 n 同时属于行 i 和 j ,则 i 和 j 有重叠区间;重叠区间的大小是同时属于行 i 和 j 的整数个数。 例如,行( 10 20 )和( 12 25 )的重叠区间为 [12 20] ,其大小为 9 ;行( 20 10 )和( 12 18 )的重叠区间为 [10 12] ,其大小为 3 ;行 (20 10) 和( ...
  题目描述:一个正整数有可能可以被表示为 n(n&gt;=2) 个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8 请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。 输入数据:一个正整数,以命令行参数的形式提供给程序。 输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出 “NONE” 。 ...
情况1.   从另外一个版本中为了测试模块拷贝到本系统中 现象: sudo insmod ft52x6_ts.koinsmod: error inserting 'ft52x6_ts.ko': -1 Invalid module format 原因: (1). 所用内核源码版本号与目前使用的内核不同;(2). 编译目标不同,比如编译的是i686,装好的是i386;(3). 使用编译器版本不同;(4). 目前使用的内核不是自己编译出来的。 解决办法: 暂无   情况2. 安装touchscreen的参考代码,使用安装模块的方法 现象: insmod ft52x6_ts.koinsmod ...
QT程序制作deb包并安装在应用程序菜单制作原理:打包:将QT制作的源程序(没有编译的)用debian压缩打包(这里是用脚本对源程序再编译)安装:将deb包中的源程序解压(默认解压到根目录)到规定系统文件中并编译(postinst脚本)卸载:将解压的所有文件删除(postrm脚本)例子:1.新建deb包文件myded|——mydeb     |————application           |——addressbook(此目录存放QT的源程序和configure脚本)           |————lib                 |——addressbook.desktop(桌面文件 ...
Global site tag (gtag.js) - Google Analytics