自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xautjzd小天地

不积跬步无以至千里 ,不积小流无以成江海

  • 博客(158)
  • 收藏
  • 关注

原创 内存对齐

每个特定平台上的编译器都有自己的默认“对齐系数”(也叫对齐模数)。程序员可以通过预编译命令#pragma pack(n),n=1,2,4,8,16来改变这一系数,其中的n就是你要指定的“对齐系数”,并且只能是2的幂。对齐规则如下:1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员的对齐按照 #pr

2013-07-15 11:32:57 979

原创 errno全局变量各值含义

Linux下最常见的就是errno了,一般当发生错误时便会给全局变量errno赋值,其所有可能的值可查看linux的源码,以下是查看linux v3.6源码的结果:/usr/include/asm-generic/errno-base.h#ifndef _ASM_GENERIC_ERRNO_BASE_H#define _ASM_GENERIC_ERRNO_BASE_H#d

2013-07-15 09:17:01 2125

原创 bzero等函数源代码实现

看《网络编程》,对bzero等函数的实现颇有兴趣,于是便翻看了其源代码的实现。bzero、bcopy、bcmp等函数源码如下:bzero源码:voidbzero(s1, n) void *s1; unsigned n;{ register char *t = s1; while (n != 0) { *t++ = 0; n--; }}bcopy源码如下:

2013-07-15 08:34:48 3073

转载 Linux 内核 Makefile 体系简单分析

摘自:http://blog.chinaunix.net/uid-26806098-id-3141136.html众所周知,Linux内核是使用make命令来配置并编译的,那必然少不了Makefile。在内核目录树中我们可以看到内核编译系统的顶层Makefile文件。但是如此复杂、庞大的内核源码绝不可能使用一个或几个Makefile文件来完成配置编译,而是需要一套同样复杂、庞大,且为Lin

2013-07-09 16:16:14 1983

原创 vimrc文件详解

请参考:http://vim.wikia.com/wiki/Open_vimrc_file1.什么是vimrcvimrc文件中的配置是vim启动时的配置,通常位于$HOME/.vimrc详细解释参考:help vimrc

2013-07-07 14:13:55 987

转载 管道和xargs命令

1. stdin,stdout,stderr对于新生成的任何进程来讲,都可以使用stdin,stdout,stderr这些文件指针来访问标准输入,标准输出,错误文件。他们的类型都是FILE *,属于c运行库的类型。而内核则使用文件描述符来代表文件。STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO分别被定义为0,1,2。Dup2( srcfd , de

2013-07-06 21:43:31 794

原创 Core文件作用、设置及用法

1.Core文件简介Core文件其实就是内存的映像,当程序崩溃时,存储内存的相应信息,主用用于对程序进行调试。当程序崩溃时便会产生core文件,其实准确的应该说是core dump 文件,默认生成位置与可执行程序位于同一目录下,文件名为core.***,其中***是某一数字。2.开启或关闭Core文件的生成关闭或阻止core文件生成:$ulimit -c 0打开core文件生成

2013-07-06 19:33:17 9420

原创 录制终端操作并进行操作重现

Linux自带的script命令就可以对终端一系列的操作进行录制,并进行重放,这样便无需进行再次演示,省事很多。1.开始录制$script  -t 2>time.log output.log解释:-t 选项指定输出录制的时间数据,并且以标准错误形式输出,将其重定向到time.log文件中,与后面的output.log文件配合进行操作重现。当然此地的time.log 和outpu

2013-07-05 23:29:58 710

原创 SQL Server远程配置

默认的Sql server没有开启远程的协议,所以无法远程sql server服务,只要在sql 的配置管理器里打开Named Pipes和TCP/IP协议即可。如下图:

2013-07-05 11:41:18 814

原创 Linux VNC的安装与配置

Linux VNC的安装与配置window下远程Linux的方式有很多,有命令行模式,也有图形界面模式。命令行模式最常见就是通过Putty软件了,而图形界面则可以通过VNC、XManager、Cygwin、Xming等。其中XManager为收费版,其他都可以免费使用。以上软件几乎都是基于SSH协议,所以服务端得先安装SSH服务。下面主要介绍VNC。以下步骤都在服务端进行:一.安装VN

2013-07-03 21:45:09 1037

原创 微软开源CMS框架Orchard的搭建与使用

最近可能会做一个门户网站,便开始进行充电,无意中发现了微软的开源CMS框架Orchard,感觉挺不错,便着手搭建。下面是我从搭建到使用的一系列步骤:1.Orchard安装安装方式有三种:1)通过Microsoft Web Platform Installer安装2) 通过IIS部署安装3)通过编译源代码安装其中第一种方式是最简单方式,第二种方式则主要用于生产环境,第三种方式

2013-07-02 10:39:09 3521

原创 Linux信号

通过$kill -l命令可以查看Linux中的信号及对应的整数。如下:1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE9) SIGKILL 10) SIGUSR1 11) SIGSEGV

2013-06-24 20:22:05 849

原创 获取每组最新记录

还是项目练人,带着问题来学习真的是受益匪浅。今天碰到一个问题:对表中记录分组,然后取每组最新数据。就这个问题,让我纠结了一下午,终于得以解决。SQl语句如下:Select * From TCtrl a where Time=(Select Max(Time) From TCtrl where StoreNum=a.StoreNum) order by StoreNum其中

2013-06-17 17:44:21 743

原创 systemctl作用

#systemctl is-enabled servicename.service #查询服务是否开机启动#systemctl enable xxx.service #开机运行服务#systemctl disable xxx.service #取消开机运行#systemctl start xxx.service #启动服务#systemctl stop xxx.service #停止服务

2013-06-10 03:09:37 4465

转载 Linux软连接与硬连接的区别

概念硬链接:也叫链接,即文件的引用,与被引用文件指向同一个Inode。例如,文件系统目录树上存在一个文件,该文件指向一个唯一的Inode,为该文件创建一个硬链接的话,那么该硬链接也指向同一个Inode,相当于该文件有两个名字,同时文件链接数增加1,可以使用任意一个名字访问该文件。软链接:也叫符号链接,即文件的快捷方式。软链接也是一种文件,同样占有一个Inode,创建软链接不增加链接

2013-06-09 15:20:31 854

转载 剖析system()函数

system()函数调用/bin/sh来执行参数指定的命令,/bin/sh 一般是一个软连接,指向某个具体的shell,比如bash,-c选项是告诉shell从字符串command中读取命令;在该command执行期间,SIGCHLD是被阻塞的,好比在说:hi,内核,这会不要给我送SIGCHLD信号,等我忙完再说;在该command执行期间,SIGINT和SIGQUIT是被忽略的,

2013-06-09 15:00:40 781

转载 GDB 单步调试

一、初始化输入gdb进入gdb调试环境。或者直接输入gdb + progfile来加载文件。注意该文件是使用gcc(或g++)编译得到的。为了使 gdb 正常工作, 必须使你的程序在编译时包含调试信息,编译时必须使用-g参数来。或者进入gdb环境后,通过命令file + progfile来加载需要调试的可执行文件文件。查看源代码:list [函数名][行数]设置

2013-06-02 16:59:58 1166

转载 GDB 常用调试命令

调用gdb编译需要在cc后面加 -g参数再加-o;[root@redhat home]#gdb 调试文件:启动gdb(gdb) l :(字母l)从第一行开始列出源码(gdb) break n :在第n行处设置断点(gdb) break func:在函数func()的入口处设置断点(gdb) info break: 查看断点信息(gdb) r:运行程序

2013-06-02 16:58:01 918

转载 SQL Server2005尚未备份数据库 尾部

sql2005还原时出现下面的错误,System.Data.SqlClient.SqlError: 尚未备份数据库 "****" 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容。 (Microsoft.SqlSe

2013-05-11 11:38:34 809

原创 EasyUI中文化乱码问题

最近用asp.net mvc3+easyui开发系统,在给easyui中文化时,老发现中文化的中文显示都乱码,最后发现了罪魁祸首:原来是我的web.config里system.web节下配置了这项,去掉即可。去掉前的乱码效果如下:去掉后的效果如下:

2013-04-12 20:31:21 2543

原创 反汇编工具

最近上网络编程这门课,孙老师给我们介绍了下反汇编相关工具,让我对反汇编有了一个基本的认识,算是增长见识了。大概介绍了三个工具:1.source insight此工具为查看源码比较好的工具,让阅读源代码方便了许多。2.OllyDbg此工具为动态的反汇编工具3.IDA此工具为静态的反汇编工具一般都是现用IDA分析软件的整体结构,然后再用OllyDbg分析细节。要知道

2013-04-11 16:40:43 1018

原创 ASP.NET MVC3输出html方法

asp.net mvc3定义的变量中含有html标签,然后对变量进行显示发现连带标签一起显示,而不是将标签的效果显示出来。效果如下:@{var string="string";}@string这样输出只会输出string,而不是输出h1大小的string串。为此有下列两种方法可以输出想要的效果:1.Html.Raw()eg:@{var string="string"

2013-04-11 08:58:12 1510

原创 asp.net mvc项目在iis中发布后视频不能观看

做的一个asp.net mvc项目运行时可以上传视频并且正常观看,但是发布后只能正确上传,但是不能播放,后来找了好久,终于找到了解决之法:在网站上右键——>属性——>http头——>MIME类型——>新建,然后扩展名填.flv,MIME类型填video/x-flv即可(我的视频是flv格式,如果为其他格式,则需要填写其他格式)。具体有哪些格式,请参考:http://technet.micr

2013-04-10 12:31:58 2323 1

转载 路径问题

/开头表示根目录, ./表示当前目录, ../上级目录, 直接用文件名不带/也表示同一目录,这些都是相对于当前文件的位置来说的,这些通用。下面是js获取文件路径://js获取项目根路径,如: http://localhost:8083/uimcardprjfunction getRootPath(){ //获取当前网址,如: http://localhost:8083/uimca

2013-04-10 12:02:41 1103

原创 查看c库函数源代码

今天突然心血来潮,想一睹c的输入输出库函数具体实现,于是便搜寻,最后得知所有的库函数源代码都位于glibc中,只需要下载glibc包,然后解压即可。具体下载网址:http://ftp.gnu.org/gnu/libc/基本输入输出函数我找了半天,最终还是找到位置了,位于glibc文件夹的stdio-common子文件夹中,下面为scanf的源代码:int__scanf (const

2013-04-07 11:26:54 10888

原创 消息队列IPC(inter process communication)小记

1.获取消息队列消息队列相关的API都在sys/msg.h库中,要创建消息队列,使用函数msgget();这个函数第一个参数为消息队列ID(此Id是给定主机上唯一的描述符或关键字),第二个参数为识别消息旗标的参数,返回值是一个句柄,和文件描述符相似,指向指定Id的消息队列。int msgget(key_t key, int msgflg);key_t值必须是一个非零的值或者是特殊符

2013-04-06 22:46:19 1313

原创 linux C线程杂记

以前学操作系统的进程和线程管理时,经常听到互斥加锁解锁之类的概念,但是几乎很少在编程中用到,今天看《gnu/linux编程》的线程这章时,对c程序中如何给变量加锁解锁有了一个大致的了解,现记录如下:互斥其实是保证线程在关键区正常执行的变量,同一时刻只能由某一进程访问,要建立一个关键区,首先得创建一个互斥变量,然后用特殊的符号为其常量初始化。互斥变量声明方法如下:pthread_mutex_

2013-04-06 12:31:17 741

原创 pthread线程创建出现undefined reference to `pthread_create' collect2: error: ld returned 1 exit status

最近看《Gnu/linux编程》线程这章时,自己便试着写了一个简单实例,然后用gcc编译,结果出现:pthread.c:(.text+0x29): undefined reference to `pthread_create'collect2: error: ld returned 1 exit status。这时便发挥google的功效,问题得以解决。方法如下:只需在用gcc编译时加上-

2013-04-06 08:55:15 9117

转载 字符编码

1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与

2013-04-04 12:25:21 520

原创 C# Url传参中文乱码

项目用到ReportViewer报表,里面的参数是通过url传参给报表,参数中含有中文字符,页面显示这些参数时发现中文部分都乱码,英文字符和数字都显示正常,于是便搜寻解决之法,最终得以解决。方法如下:1.通过web.config配置在system.web节点下配置:即可。2.传递中文前进行编码,接收后进行解码先通过Server.UrlEncode(parameterName

2013-04-03 11:06:57 2391

转载 Chrome快捷键大全

Chrome窗口和标签页快捷键:Ctrl+N 打开新窗口 Ctrl+T 打开新标签页 Ctrl+Shift+N 在隐身模式下打开新窗口 Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机上的文件 按住 Ctrl 键,然后点击链接 从后台在新标签页中打开链接,但您仍停留在当前标签页中 按住 Ctrl+Shift 键,然后点击链接 在新标签页中打开链接,同时切换到新打开的标签

2013-04-01 10:41:38 786

原创 网页中嵌入视频

网页中嵌入视频,我用到了jw player插件,并且采用的是js方式配置,当然也可采取其他配置方法。我的配置如下: $(document).ready(function () { var s1 = new SWFObject('@Url.Content("~/Content/mediaplayer.swf")', 'player', '250', '211', '

2013-04-01 10:16:16 657

原创 highstock range selector语言本地化

最近用到了highcharts的highstock,但是默认的range selector是英文,这自然对中国用户不是很好,所以便想着将其改为中文,于是google搜索,最后发现解决办法,问题得以解决,现分享出来供大家共同学习,方便后人少走弯路。方法如下: Highcharts.setOptions({ lang: { rangeSele

2013-03-30 10:58:54 2294

原创 发现highcharts之highstock中一个小bug

用到highstock里的清空series然后动态添加series功能,发现其中存在一个小bug,即是:我清空完所有的series后,再用addseries添加,添加完成并redraw图后发现navigator的起始时间就是1970年,网上搜了好久,没找到答案,stackoverflow上有人说这是highcharts的一个bug,已经提交。然后我又试着将前边的series初始化多组值,然

2013-03-25 15:14:48 2277 2

原创 highstock scrollbar样式配置

scrollbar的样式大概有以下几个参数可供配置:scrollbar: {barBackgroundColor: 'gray',barBorderRadius: 7,barBorderWidth: 0,buttonBackgroundColor: 'gray',buttonBorderWidth: 0,buttonArrowColor: 'blue',button

2013-03-25 14:28:00 2870

原创 highstock remove series and addSeries时图像显示不正常问题解决方案

remove series我最开始使用的是:for (var i = 0; i chart.series.length; i++) chart.series[i].remove(true);后来发现这样做的话,再addSeries时,图表显示的效果将会有问题,上次的series并没有全部remove掉,而且和新添加的series一起重绘,这肯定不是预期的结果,于是稍作修改

2013-03-25 09:27:23 2160

原创 highstock remove series 后动态添加series

具体效果参考我在jsFiddle的例子:http://jsfiddle.net/7pKV9/,代码如下:Remove series and Add series$(function() { $('#container').highcharts('StockChart', { scrollbar: { enabled: true

2013-03-24 21:07:01 2560

原创 linux下用gdb调试c程序

首先要用gdb调试C/C++程序的话,得在编译时将调试信息添加到可执行文件中,使用gcc的 -g参数便可以做到这点。如:gcc -g -Wall -o test test.c编译完后边要启动gdb,方法如下:$gdb test如果对gdb的命令不熟,可通过help来查询,如下:(gdb)helpgdb 的命令很多,gdb把之分成许多个种类。help命令只是例出gdb的命

2013-03-21 23:07:00 809

原创 数据库“TSupervise” 的事务日志已满问题的解决之法

写了个windows服务程序,并且设置为开机自动启动,功能为:将Acess数据库中的数据导入到SQL Server中,并且每隔10s导入一次。结果开机启动后,数据导入一直在后台进行,不知过了多久,突然发现本奇卡,后来找原因才发现数据库中数据过多,打开数据库表一看,发现有>1800w条数据记录,光日志文件都有10.5G左右,数据库文件1G左右。然后执行delete表操作,想清空表中记录,结果

2013-03-19 09:24:10 951

原创 Online Judge计算整数的和

Problem DescriptionYour task is to calculate the sum of some integers. InputInput contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and t

2013-03-18 20:24:22 725

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除