- 博客(68)
- 资源 (7)
- 收藏
- 关注

原创 一张图帮你记住linux的vim指令(小伙伴门开来围观吧)
linux的vim那是相当强大,刚开始接触的同学们都会感觉好用但是记不住都是干嘛用的,现在我们就来了解一下非常基本的指令。(今天没时间了,找时间在里面加些例子)查找:/word 向下寻找word?word 向上寻找wordn向下重复查找刚才字符串N向上重复查找刚才字符串:n1,n2s/word1/word2/g 从n1行到n2行之间把word1替换为wo
2013-12-18 10:14:30
3129
原创 swift语言初见
//// main.swift// helloSwift//// Created by cyteven on 14-7-23.// Copyright (c) 2014年 cyteven. All rights reserved.//import Foundation//打印字符串println("Hello, World!")//变量定义
2014-07-26 13:32:19
968
转载 C++ log类
// Log.h#ifndef LOG_H#define LOG_H#include #include #include #include using namespace std;/** * 用于输出log文件的类. */class Log{public: Log(); ~Log(); bool Open(string strFileNa
2014-04-29 14:45:15
1234
转载 怎样破坏程序的堆栈?
为什么使用堆栈? 现代计算机被设计成能够理解人们头脑中的高级语言。 在使用高级语言构造程序时最重要的技术是过程(procedure)和函数(function)。 从这一点来看, 一个过程调用可以象跳转(jump)命令那样改变程序的控制流程, 但是与跳转不同的是, 当工作完成时, 函数把控制权返回给调用之后的语句或指令。这种高级抽象实现起来要靠堆栈的帮助。 堆栈也用于给函数中使用的局部变量动
2014-02-13 22:12:20
3828
转载 VC6.0 error LNK2001: unresolved external symbol _main解决办法
学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unre
2014-02-09 13:04:45
3358
原创 _beginthread不能正确调用返回0xffffffff
一、设定run_time libararyproject settings-> C/C++-> Category: Code Generation-> Use run-time libarary: 选 /MDd 或者/MD都行。如果还是不行就要看看你的堆栈空间大小是不是不够用了在link中看看你的/stack的值是多少 可以设置为0x200000
2014-01-23 12:23:21
1403
转载 进程间通信
采用内存映射文件实现WIN32进程间的通讯:Windows中的内存映射文件的机制为我们高效地操作文件提供了一种途径,它允许我们在WIN32进程中保留一段内存区域,把目标文件映射到这段虚拟内存中。在程序实现中必须考虑各进程之间的同步问题。具体实现步骤如下:1、在服务器端进程中调用内存映射API函数CreateFileMapping创建一个有名字标识的共享内存;函数CreateFile
2014-01-16 16:49:47
665
原创 svn增量备份脚本 skiped问题处理
我们很多时候svn库是需要备份或者是发布的项目想要它自己更新 下面的操作即可完成D:\Program Files\VisualSVN Server\bin\svn.exe这个替换成你的svn安装的目录 F:\backupincrease\test 这个目录需要自己建立好 并且在这里面先需要checkout出来代码 这样才可以做update操作不然会包skiped 问题该文件命名为:po
2014-01-16 09:56:07
1789
转载 SVN备份脚本完整资料
http://bbs.iusesvn.com/viewthread.php?tid=1179&highlight=%E5%A4%87%E4%BB%BD SVN备份脚本完整资料在先前的备份脚本帖子中http://www.iusesvn.com/bbs/thread-623-1-1.html,我们讨论了如何使用脚本自动备份,可能由于没有完整的归档整理,容易造成一些误解,这里给出
2014-01-14 20:35:33
604
原创 svn服务器关联本地用户和组
安装部分百度很多,自己百度吧:主要说说如何在windows2003上关联本地账户和组打开visualSVN Server 右键 property 选择Authentication选项卡然后我们可以通过本地用户和组 来管理用户操作了可以在这里通过添加本地用户或者域用户添加后可以在visualSVN Server 的对应项目上选择
2014-01-14 15:23:20
2234
原创 visual assist设置快捷键(其它安装的插件设置快捷键也在这里)
安装完visual assist后发现快捷键无法使用纠结,然后找如何去设置快捷建以此记录一下:在Tools-->customize-->Keyboard-->Add-ins常用的几个设置:1、Find ReferencesVAssistXFindReferences 一般设置为alt + f2、Find SymbolVAssistXFindSymbolDialog
2014-01-10 16:02:54
1581
原创 gdb调试常用指令
一、首先使用gdb调试之前我们生成应用程序需要带有debug信息那么我们在生成可执行程序的时候首先应该带有 -g参数g++ -g server.cpp -o server二、进入gdb模式gdb三、常用命令1、gdb加载可执行文件(gdb) file serverReading symbols from /usr/cyCPP/myServer/server...do
2014-01-03 16:17:15
2241
原创 Visual Assist 相同内容高亮显示
使用Visual Assist 的时候突然高亮内容显示不出来了 经过一顿找,终于发现设置位置了,再次记录下来,大家没有设置的可以参考一下,使用很方便这里面有个Highlight refernces using顾名思义就是设置高亮的,设置一下在看下代码 一切ok
2014-01-02 10:37:34
7708
2
转载 大师的话一语道破.强烈建议阅读
现在的开发工作要求我们能够快速掌握一门语言。一般来说应对这种挑战有两种态度:其一,粗粗看看语法,就撸起袖子开干,边查Google边学习;其二是花很多时间完整地把整个语言学习一遍,做到胸有成竹,然后再开始做实际工作。然而这两种方法都有弊病。第二种方法的问题当然很明显,不仅浪费了时间,偏离了目标,而且学习效率不高。因为没有实际问题驱动的语言学习通常是不牢固不深入的。有的人学着学着成了语言专家,反而忘了
2013-12-31 08:01:04
1047
原创 多线程及互斥锁整理
多线程及互斥锁整理多线程的创建这个函数是一个应用程序定义的函数的占位符,作为一个线程的起始地址。在调用CreateThread函数时,指定该地址。LPTHREAD_START_ROUTINE类型定义了该回调函数的指针。 ThreadProc是一个应用程序定义的函数的名称的占位符。DWORD WINAPI ThreadProc(LPVOID lpParameter);[1
2013-12-30 16:11:12
3176
转载 Linux下的多线程编程
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念后,还要再引入线程呢?使用
2013-12-29 21:01:33
664
转载 C++编译遇到参数错误(cannot convert parameter * from 'const char [**]' to 'LPCWSTR')
一看到上面的project configuration,有一个Character Set,因此我就对比了我上次编译通过的的工程配置和今天我新建的工程配置,下面是对比的图:第一幅图是今天编译出错时的配置,第二幅是测试上次编译通过时的配置,发现在Character Set选项里有区别,编译出错时是把Character Set设置成了Use Unicode Character Set
2013-12-28 21:19:13
4960
转载 #pragma pack(1) 的意义是什么
设置结构体的边界对齐为1个字节,也就是所有数据在内存中是连续存储的。比如你在C语言中定义下面这样的结构体:struct s {char ch;int i;};然后在主函数中写一句:printf("%d", sizeof(struct s))也就是输出结构体s所占的字节数你觉得输出结果会是多少呢?我们知道,char型占用1个字节,int型占4个字节,那么输出的结果是5吗
2013-12-27 17:15:53
949
转载 在vi按了ctrl+s后 假死
习惯了在windows下写程序,也习惯了按ctrl+s 保存代码,在用vi的时候,也习惯性的按ctrl+s结果就是如同终端死掉了一样。原来:ctrl+s 终止屏幕输出(即停止回显),你敲的依然有效,只是看不见,作用嘛,你登录系统输入密码时,是不是看不见你敲的东东ctrl+q 恢复屏幕输出,你刚才敲的都显示出来了还是对vi不熟悉造成的
2013-12-26 14:49:35
796
原创 搭建django环境
1、安装eclipse2、安装Python3、安装pydev插件 下载后丢入eclipse的plugins目录下即可4、配置pydev http://kb.cnblogs.com/page/81980/参考5、安装配置django 配置环境变量 X: /Python25/Lib/site-packages/django; X:/Python25/Scripts;
2013-12-22 13:34:32
1063
原创 一张图说build背后的故事
我们在控制台打印hello过程究竟发生了什么事,然我们一起目睹 你们知道我们最平时写的最简单的程序hello都干了什么了吗下面让我们一起来看一下图:编译过程程序:#include using namespace std;#define pi 3.14int main(){ //see helloword in screen
2013-12-19 22:40:11
1332
转载 Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参数;pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件执行该参数所给出
2013-12-19 16:28:11
628
转载 游戏中Buff机制及其实际运用
首先我想说的是,这是一套机制,并不是单独的一个系统,所谓机制就是一种从逻辑思想到代码实现的小窍门的组合,只有当你把它运用到一个实际项目中去了,它才能帮助你建立一个系统。我不敢说它是最好的,但这套东西帮我完成了一个又一个项目的制作,我觉得现在可以简单的拿出来和大家分享下思维。事实上这也并不是什么很玄乎的东西,我的Buff的机制更像是Flash的Dispatch机制。更简单的说,你可以把它理解为一种回
2013-12-17 16:52:50
5972
转载 SVN库迁移及备份方法详解
SVN库迁移及备份方法详解本节向大家简单讲解一下SVN库迁移及备份方案,在学习SVN的过程中难免会遇到SVN库的问题,在这里和大家分享一下SVN库迁移及备份方面的知识,希望对你的学习有所帮助。在做迁移操作前,请停止对svn进行提交操作。1.SVN库迁移方案(采用dump-load方案):源SVN服务器:192.168.1.200,Windows服务器目标SVN服务器
2013-12-11 15:53:02
779
原创 单例设计模式的一点总结
单例模式:1、什么叫做单例模式?单例模式保证一个类仅有一个实例,并且提供一个访问他的全局访问点。2、单例模式要解决什么问题?在游戏编程中,我们会在客户端给玩家提供一些面板,展示玩家属性,玩家背包,玩家技能等等。如果我们每一次都是去实例化一个对象,这个是否当玩家不断打开背包的时候,就可能出现无数个背包面板。3、单例模式怎么解决问题?那么怎么能只创建一个背包面板呢,这个时候我们
2013-12-10 23:16:26
1268
原创 清除系统垃圾脚本 windows
清楚系统垃圾自己定制哈哈把下面的脚本放到一个xxx.bat文件中然后根据自己的需求更改一下,双击执行就ok了@echo offecho 正在清除系统垃圾文件,请稍等......del /f /s /q %systemdrive%\*.tmpdel /f /s /q %systemdrive%\*._mpdel /f /s /q %systemdrive%\*.logde
2013-12-09 15:59:44
2208
原创 知其然知其所以然 itoa实现 整型转字符串
我们经常会遇到有求字符串转换为整型的问题,我们来分析一下其中实现过程,可以先分析一下思路;1、首先我们要求出来整型字符串的长度,这步可以遍历和除以10这样计算遍历次数就可以求的整型字符串长度2、我们对要操作的整数和10取余能算出各位数值,通过这个值 + ‘0’ 这样我们就可以计算出char型0的ascii码值,在通过将各个数赋值到char数组上上,最后这个char数组就是我们要求得的c
2013-11-30 14:49:56
1391
原创 知其然知其所以然 atoi实现 字符串转整型
我们经常会遇到有求整型转成字符串的问题,我们来分析一下其中实现过程,可以先分析一下思路;1、第一步我们想到就是把字符串进行一遍遍历,将里面的数字取出来并且拼成我们的整型数;2、如何将我们取出来的数字转成整型数呢,当然我们取出来的是一个字符,我们知道字符的值都是ascii码表,我们我们难道还要记住对应每个字符数字的assii码的值吗,虽然我们可以记住常见的,但是没有必要我们知道0-9对应的a
2013-11-30 12:45:19
928
转载 Linux统计文件行数
语法:wc [选项] 文件…说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。该命令各选项含义如下: - c 统计字节数。 - l 统计行数。 - w 统计字数。这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。行数、字数、字节数、
2013-11-21 11:53:49
2320
原创 linux下安装svn 解决svn: Unrecognized URL scheme
svn安装 1、首先下载软件包,我是在weindows上下载后上传到linux下的(可以使用rz命令) 下载地址:http://download.youkuaiyun.com/detail/cyteven/65660152、开始安装apr tar zvxf apr-1.4.6.tar.gz //解压 cd apr-1.4.6/ make make install
2013-11-17 15:44:42
9325
原创 linux预定义变量$@ $<
$@ : 规则的目标所对应的所有文件$例如:%.o : %.cpp $(HEADERS) $(CXX) $(CXXFlags) $(IncludeDir) -c $解释一下就是:%.o : %.cpp $(HEADERS) $(CXX) $(CXXFlags) $(IncludeDir) -c xxx.cpp -o xxx.o
2013-11-07 16:34:28
3090
转载 Linux下生成动态链接库是否必须使用 -fPIC 的问题
在 Linux 下制作动态链接库,“标准” 的做法是编译成位置无关代码(Position Independent Code,PIC),然后链接成一个动态链接库。经常遇到的一个问题是 -fPIC 是不是必需,因为好像不加经常也能正常运行,只是创建 .so 的时候会有一个警告。搜索、试验了一下,答案似乎是这样:(1) 通常的建议是始终加上 -fPIC 生成位置无关代码;(2) AMD64
2013-11-07 10:26:02
805
转载 Linux/Unix环境下的make命令详解
无论是在linux还是在Unix环境中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要
2013-11-07 09:11:19
676
转载 gcc和g++的区别
误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意:1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的
2013-11-06 21:21:01
600
转载 linux压缩和解压缩命令大全
.tar 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName --------------------------------------------- .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName
2013-11-05 17:07:00
490
转载 objdump .
因为计算机大都是采用哈佛结构,数据和指令分开存储的的程序组织形式,因此当我门编译,汇编,连接,(符号解吸,段的重定位)。而为了能让程序更好的被执行,最终生成的目标文件包含了足够多了信息生怕自己被歧视而不被执行。所以面对2进制的目标文件来说,我门是很难发现或者看到什么有用的信息,因此objdump这个工具的实际意义是多么的令人喜爱,只有当你要探索一个目标文件的组织形式的时候就能体会了 更多的
2013-10-29 21:02:55
885
转载 linux下打印函数调用栈(stack backtrace in Linux)
今天遇到个这样的需求,希望能当动态链接库中抛出异常时,能把调用栈打印出来。经过在google上一翻搜寻,找到了一些线索。我的文件目录如下:当前目录下是main.cpp 和test/test下面是A.h, A.cpp(定义一个类)和backtrace.h, backtrace.cpp第一步,实现打印调用栈,backtrace函数实现如下:backtrace.cpp#inclu
2013-10-29 18:24:46
1857
转载 巧用backtrace系列函数,在不具备gdb环境的Linux系统上大致定位段错误位置
1: 段错误产生的原因简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址.一旦一个程序发生了越界访问,系统就采取内存保护措施,并给那个程序发送SIGSEGV信号,程序接到那个信号后就知道segmentation fault出现了。想对”段错误”有更详细的了解可以去阅读“Linux下的段错误产生的原因及调试方法
2013-10-29 17:57:50
927
转载 linux下如何产生core,调试core
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2)使用ulimit -c filesize命令,可
2013-10-29 09:54:34
641
svn资料大全 小白安装
2013-12-08
gcc,g++安装包
2013-12-04
linux svn安装资料大全(文档+安装文件)
2013-11-17
c++和lua互相调用实例及讲解
2013-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人