摘要: 字符串函数是最问常用的库函数之一,本文整理了常用的字符串函数,其来源为互联网函数名: stpcpy功 能: 拷贝一个字符串到另一个用 法: char *stpcpy(char *destin, char *source);程序例:#include #in... 阅读全文
posted @ 2019-04-02 23:38 cj5785 阅读(177) 评论(0) 推荐(0)
摘要: 字符串函数是最问常用的库函数之一,本文整理了常用的字符串函数,其来源为互联网函数名: stpcpy功 能: 拷贝一个字符串到另一个用 法: char *stpcpy(char *destin, char *source);程序例:#include #in... 阅读全文
posted @ 2019-04-02 23:38 cj5785 阅读(132) 评论(0) 推荐(0)
摘要: gdb即GNU debugger,用来调试程序gdb使用前提要使用gdb,则需要在编译源代码时候使用-g参数gcc -g –o test test.c启动gdbgdb 程序名 [corefile]corefile是可选的,但能增强gdb的调试能力Linux默... 阅读全文
posted @ 2019-04-02 23:37 cj5785 阅读(138) 评论(0) 推荐(0)
摘要: 函数指针在C++中有着重要的应用,函数的函数名其本质就是代表一个地址,这个地址叫做函数入口,得到这个地址就可以对这个函数进行各种操作。函数类型基础函数三要素: 名称、参数、返回值C语言中的函数有自己特定的类型C语言中通过typedef为函数类型重命名,类似于... 阅读全文
posted @ 2019-04-02 23:36 cj5785 阅读(258) 评论(0) 推荐(0)
摘要: 函数指针在C++中有着重要的应用,函数的函数名其本质就是代表一个地址,这个地址叫做函数入口,得到这个地址就可以对这个函数进行各种操作。函数类型基础函数三要素: 名称、参数、返回值C语言中的函数有自己特定的类型C语言中通过typedef为函数类型重命名,类似于... 阅读全文
posted @ 2019-04-02 23:36 cj5785 阅读(438) 评论(0) 推荐(0)
摘要: 结构体做函数参数,在C语言中属于常见现象,此时为了内存考虑,不传递结构体,而是传递结构体的地址结构体定义struct Man{ char name[64]; int age;};结构体可以与typedef结合使用typedef struct _Man{ ch... 阅读全文
posted @ 2019-04-02 23:35 cj5785 阅读(801) 评论(0) 推荐(0)
摘要: 结构体做函数参数,在C语言中属于常见现象,此时为了内存考虑,不传递结构体,而是传递结构体的地址结构体定义struct Man{ char name[64]; int age;};结构体可以与typedef结合使用typedef struct _Man{ ch... 阅读全文
posted @ 2019-04-02 23:35 cj5785 阅读(335) 评论(0) 推荐(0)
摘要: 数组,作为C语言中常见的复杂数据类型,了解其本质有助于深入了解C语言数组概念元素类型角度:数组是相同类型的变量的有序集合测试指针变量占有内存空间大小内存角度:联系的一大片内存空间数组初始化数组元素的个数可以显示或隐式指定数组的初始化可以用{ 0 },也可以使... 阅读全文
posted @ 2019-04-02 23:34 cj5785 阅读(230) 评论(0) 推荐(0)
摘要: 数组,作为C语言中常见的复杂数据类型,了解其本质有助于深入了解C语言数组概念元素类型角度:数组是相同类型的变量的有序集合测试指针变量占有内存空间大小内存角度:联系的一大片内存空间数组初始化数组元素的个数可以显示或隐式指定数组的初始化可以用{ 0 },也可以使... 阅读全文
posted @ 2019-04-02 23:34 cj5785 阅读(210) 评论(0) 推荐(0)
摘要: 二级指针相对于一级指针,显得更难,难在于指针和数组的混合,定义不同类型的二级指针,在使用的时候有着很大的区别第一种内存模型char *arr[]若有如下定义char *arr[] = {"abc", "def", "ghi"};这种模型为二级指针的第一种内存... 阅读全文
posted @ 2019-04-02 23:33 cj5785 阅读(132) 评论(0) 推荐(0)
摘要: 二级指针相对于一级指针,显得更难,难在于指针和数组的混合,定义不同类型的二级指针,在使用的时候有着很大的区别第一种内存模型char *arr[]若有如下定义char *arr[] = {"abc", "def", "ghi"};这种模型为二级指针的第一种内存... 阅读全文
posted @ 2019-04-02 23:33 cj5785 阅读(244) 评论(0) 推荐(0)
摘要: 数组与指针当数组做函数参数的时候,会退化为一个指针此时在函数内是得不到数组大小的因此,数组做函数参数的时候需要传递数组大小,也就是多传递一个参数void func(int arr[], int num){ ···}若存在以上函数,c/c++编译器在编译... 阅读全文
posted @ 2019-04-02 23:31 cj5785 阅读(199) 评论(0) 推荐(0)
摘要: 数组与指针当数组做函数参数的时候,会退化为一个指针此时在函数内是得不到数组大小的因此,数组做函数参数的时候需要传递数组大小,也就是多传递一个参数void func(int arr[], int num){ ···}若存在以上函数,c/c++编译器在编译... 阅读全文
posted @ 2019-04-02 23:31 cj5785 阅读(478) 评论(0) 推荐(0)
摘要: 断层思维在设计时候,不需要知道实现,只需要知道如何使用接口设计的设计思路Sckclient客户端api模型第一套API(*.h)#ifndef _SCK_CLINT_H_#define _SCK_CLINT_H_#ifdef __cplusplusexte... 阅读全文
posted @ 2019-04-02 23:28 cj5785 阅读(249) 评论(0) 推荐(0)
摘要: 断层思维在设计时候,不需要知道实现,只需要知道如何使用接口设计的设计思路Sckclient客户端api模型第一套API(*.h)#ifndef _SCK_CLINT_H_#define _SCK_CLINT_H_#ifdef __cplusplusexte... 阅读全文
posted @ 2019-04-02 23:28 cj5785 阅读(799) 评论(0) 推荐(1)
摘要: 改变空指针内存的值这个错误很常见,不仅是空指针,还包括改变系统内存空间的值int *p = NULL;···*p = 10;没有释放内存或者释放位置不对在堆中开辟内存以后,使用完成必须释放内存,否则会造成内存泄漏int *p = (int *)malloc(... 阅读全文
posted @ 2019-04-02 23:27 cj5785 阅读(196) 评论(0) 推荐(0)
摘要: 改变空指针内存的值这个错误很常见,不仅是空指针,还包括改变系统内存空间的值int *p = NULL;···*p = 10;没有释放内存或者释放位置不对在堆中开辟内存以后,使用完成必须释放内存,否则会造成内存泄漏int *p = (int *)malloc(... 阅读全文
posted @ 2019-04-02 23:27 cj5785 阅读(1086) 评论(0) 推荐(0)
摘要: 关于指针,其是C语言的重点,C语言学的好坏,其实就是指针学的好坏。其实指针并不复杂,学习指针,要正确的理解指针。指针是一种数据类型指针也是一种变量,占有内存空间,用来保存内存地址指针就是告诉编译器,开辟4个字节的存储空间(32位系统),无论是几级指针都是一样... 阅读全文
posted @ 2019-04-02 23:25 cj5785 阅读(243) 评论(0) 推荐(0)
摘要: 关于指针,其是C语言的重点,C语言学的好坏,其实就是指针学的好坏。其实指针并不复杂,学习指针,要正确的理解指针。指针是一种数据类型指针也是一种变量,占有内存空间,用来保存内存地址指针就是告诉编译器,开辟4个字节的存储空间(32位系统),无论是几级指针都是一样... 阅读全文
posted @ 2019-04-02 23:25 cj5785 阅读(596) 评论(0) 推荐(0)
摘要: void的字面意思是"无类型",void *则为"无类型指针",void *可以指向任何类型的数据void含义void几乎只有注释和限制程序的作用,定义一个void变量没有意义void的真正作用在于对函数返回的限定对函数参数的限定在C语言中,void *可以... 阅读全文
posted @ 2019-04-02 23:23 cj5785 阅读(3951) 评论(0) 推荐(0)
摘要: void的字面意思是"无类型",void *则为"无类型指针",void *可以指向任何类型的数据void含义void几乎只有注释和限制程序的作用,定义一个void变量没有意义void的真正作用在于对函数返回的限定对函数参数的限定在C语言中,void *可以... 阅读全文
posted @ 2019-04-02 23:23 cj5785 阅读(409) 评论(0) 推荐(0)
摘要: GNU CC(通常称为GCC)是GNU项目的编译器,它能够编译C、C++语言编写的程序gcc的优点使用gcc,程序员可以控制生成二进制执行文件中调试代码的数量和类型。和其他编译器一样,gcc也可以优化执行代码。gcc是个交叉平台编译器,所以能够在当前CPU平... 阅读全文
posted @ 2019-04-02 23:10 cj5785 阅读(133) 评论(0) 推荐(0)
摘要: GNU CC(通常称为GCC)是GNU项目的编译器,它能够编译C、C++语言编写的程序gcc的优点使用gcc,程序员可以控制生成二进制执行文件中调试代码的数量和类型。和其他编译器一样,gcc也可以优化执行代码。gcc是个交叉平台编译器,所以能够在当前CPU平... 阅读全文
posted @ 2019-04-02 23:10 cj5785 阅读(112) 评论(0) 推荐(0)
摘要: 除非最简单的项目,任何一个商业项目都会包含多个源代码,而且在编译的时候会有很长很复杂的指令,为了编译的简单可行,makefile由此而生,在编译时候直接输入make便会按照makefile里面的规则编译源代码。Android的源代码就是通过makefile管... 阅读全文
posted @ 2019-04-02 23:09 cj5785 阅读(188) 评论(0) 推荐(0)
摘要: 除非最简单的项目,任何一个商业项目都会包含多个源代码,而且在编译的时候会有很长很复杂的指令,为了编译的简单可行,makefile由此而生,在编译时候直接输入make便会按照makefile里面的规则编译源代码。Android的源代码就是通过makefile管... 阅读全文
posted @ 2019-04-02 23:09 cj5785 阅读(127) 评论(0) 推荐(0)
摘要: 数据结构数据(data)是对客观事物符号表示,在计算机中是指所有能输入的计算机并被计算机程序处理的数据总称。数据元素(data element)是数据的基本单位,在计算机中通常做为一个整体进行处理。数据对象(data object)是性质相同的数据元素的集合... 阅读全文
posted @ 2019-04-02 23:08 cj5785 阅读(191) 评论(0) 推荐(0)
摘要: 数据结构数据(data)是对客观事物符号表示,在计算机中是指所有能输入的计算机并被计算机程序处理的数据总称。数据元素(data element)是数据的基本单位,在计算机中通常做为一个整体进行处理。数据对象(data object)是性质相同的数据元素的集合... 阅读全文
posted @ 2019-04-02 23:08 cj5785 阅读(144) 评论(0) 推荐(0)
摘要: 使用结构体整理数据,然后利用二进制存储文件,这样存储的文件类似于数据库,可以实现文件的增删改查定义结构体struct student{ unsigned int ID; char name[20];};创建二进制文件int main(int argc, ch... 阅读全文
posted @ 2019-04-02 23:05 cj5785 阅读(438) 评论(0) 推荐(0)
摘要: 使用结构体整理数据,然后利用二进制存储文件,这样存储的文件类似于数据库,可以实现文件的增删改查定义结构体struct student{ unsigned int ID; char name[20];};创建二进制文件int main(int argc, ch... 阅读全文
posted @ 2019-04-02 23:05 cj5785 阅读(247) 评论(0) 推荐(0)
摘要: 文件操作大致分三步打开文件读写文件关闭文件二进制和文本模式的区别在windows系统中,文本模式下,文件以"\r\n"代表换行。若以文本模式打开文件,并用fputs等函数写入换行符"\n"时,函数会自动在"\n"前面加上"\r"。即实际写入文件的是"\r\n... 阅读全文
posted @ 2019-04-02 23:04 cj5785 阅读(158) 评论(0) 推荐(0)
摘要: 文件操作大致分三步打开文件读写文件关闭文件二进制和文本模式的区别在windows系统中,文本模式下,文件以"\r\n"代表换行。若以文本模式打开文件,并用fputs等函数写入换行符"\n"时,函数会自动在"\n"前面加上"\r"。即实际写入文件的是"\r\n... 阅读全文
posted @ 2019-04-02 23:04 cj5785 阅读(155) 评论(0) 推荐(0)
摘要: typedef是一种高级数据特性,它能使某一类型创建自己的名字typedef unsigned char BYTE;typedef struct man MAN;BYTE b = 0x12;与#define不同,typedef仅限于数据类型,而不是能是表达式... 阅读全文
posted @ 2019-04-02 23:03 cj5785 阅读(119) 评论(0) 推荐(0)
摘要: typedef是一种高级数据特性,它能使某一类型创建自己的名字typedef unsigned char BYTE;typedef struct man MAN;BYTE b = 0x12;与#define不同,typedef仅限于数据类型,而不是能是表达式... 阅读全文
posted @ 2019-04-02 23:03 cj5785 阅读(80) 评论(0) 推荐(0)
摘要: 枚举定义可以使用枚举(enumerated type)声明代表整数常量的符号名称,关键字enum创建一个新的枚举类型实际上,enum常量是int类型的枚举的本质就是int型的常量enum spectrum { red, yellow, green, blue... 阅读全文
posted @ 2019-04-02 23:03 cj5785 阅读(146) 评论(0) 推荐(0)
摘要: 联合union是一个能在同一个存储空间存储不同类型数据的类型联合体所占的内存长度等于其最长成员的长度,也有叫做共用体联合体虽然可以有多个成员,但同一时间只能存放其中一种对于联合体来讲最基本的原则是,一次只操作一个成员变量,如果这个变量是指针,那么一定是处理完... 阅读全文
posted @ 2019-04-02 23:02 cj5785 阅读(2131) 评论(0) 推荐(0)
摘要: 联合union是一个能在同一个存储空间存储不同类型数据的类型联合体所占的内存长度等于其最长成员的长度,也有叫做共用体联合体虽然可以有多个成员,但同一时间只能存放其中一种对于联合体来讲最基本的原则是,一次只操作一个成员变量,如果这个变量是指针,那么一定是处理完... 阅读全文
posted @ 2019-04-02 23:02 cj5785 阅读(137) 评论(0) 推荐(0)
摘要: 结构体的定义和初始化结构体是简单数据类型的综合struct man{ char name[100]; int age;};struct man m = { "tom", 12 };struct man m = { .name = "tom", .age = ... 阅读全文
posted @ 2019-04-02 23:01 cj5785 阅读(150) 评论(0) 推荐(0)
摘要: 结构体的定义和初始化结构体是简单数据类型的综合struct man{ char name[100]; int age;};struct man m = { "tom", 12 };struct man m = { .name = "tom", .age = ... 阅读全文
posted @ 2019-04-02 23:01 cj5785 阅读(130) 评论(0) 推荐(0)
摘要: 作用域一个C语言变量的作用域可以是代码块 作用域,函数作用域或者文件作用域代码块是{}之间的一段代码同一个代码块不可以有重名变量auto自动变量一般情况下代码块内部定义的变量都是自动变量也可以显示的使用aotu关键字auto int i;register寄存... 阅读全文
posted @ 2019-04-02 23:01 cj5785 阅读(85) 评论(0) 推荐(0)
摘要: 作用域一个C语言变量的作用域可以是代码块 作用域,函数作用域或者文件作用域代码块是{}之间的一段代码同一个代码块不可以有重名变量auto自动变量一般情况下代码块内部定义的变量都是自动变量也可以显示的使用aotu关键字auto int i;register寄存... 阅读全文
posted @ 2019-04-02 23:01 cj5785 阅读(113) 评论(0) 推荐(0)
摘要: 指针的概念指针也是一个变量,指针变量的值是另一个变量的地址换句话说就是,指针存放的是一个内存地址,该地址指向另一块内存空间指针变量的定义指向一个变量的变量int *p = NULL;p = &i;int *p = &i;int *p; //表示定义一个指针变... 阅读全文
posted @ 2019-04-02 23:00 cj5785 阅读(136) 评论(0) 推荐(0)
摘要: 指针的概念指针也是一个变量,指针变量的值是另一个变量的地址换句话说就是,指针存放的是一个内存地址,该地址指向另一块内存空间指针变量的定义指向一个变量的变量int *p = NULL;p = &i;int *p = &i;int *p; //表示定义一个指针变... 阅读全文
posted @ 2019-04-02 23:00 cj5785 阅读(127) 评论(0) 推荐(0)
摘要: 背景在windows平台下,要实现函数的封装,一般采用的是dll动态库的形式实现了函数的封装就意味着实现过程的隐藏可以实现跨平台和跨语言的使用实施步骤生成dll动态库在VS中生成新项目,应用类型选择DLL新建文件(由于生成的都为CPP文件,此时也新建CPP文... 阅读全文
posted @ 2019-04-02 22:59 cj5785 阅读(354) 评论(0) 推荐(0)
摘要: 背景在windows平台下,要实现函数的封装,一般采用的是dll动态库的形式实现了函数的封装就意味着实现过程的隐藏可以实现跨平台和跨语言的使用实施步骤生成dll动态库在VS中生成新项目,应用类型选择DLL新建文件(由于生成的都为CPP文件,此时也新建CPP文... 阅读全文
posted @ 2019-04-02 22:59 cj5785 阅读(293) 评论(0) 推荐(0)
摘要: 背景在linux平台下,要实现函数的封装,一般采用的是so动态库的形式实现了函数的封装就意味着实现过程的隐藏可以实现跨平台和跨语言的使用实施步骤生成so动态库编写相应的c文件代码,实现函数功能,例如:int sum(int a, int b){ ret... 阅读全文
posted @ 2019-04-02 22:58 cj5785 阅读(887) 评论(0) 推荐(0)
摘要: 背景在linux平台下,要实现函数的封装,一般采用的是so动态库的形式实现了函数的封装就意味着实现过程的隐藏可以实现跨平台和跨语言的使用实施步骤生成so动态库编写相应的c文件代码,实现函数功能,例如:int sum(int a, int b){ ret... 阅读全文
posted @ 2019-04-02 22:58 cj5785 阅读(347) 评论(0) 推荐(0)
摘要: 多源文件的意义为了精简代码和更好的维护代码,往往需要将一些功能实现的代码与主函数代码分开来在使用的时候再主函数中调用多源文件的使用假设现有my.c和main.c两个源代码文件,现在要再main.c中调用my.c中实现的函数,那么按照规范,应该按如下几步实行:... 阅读全文
posted @ 2019-04-02 22:57 cj5785 阅读(147) 评论(0) 推荐(0)
摘要: 多源文件的意义为了精简代码和更好的维护代码,往往需要将一些功能实现的代码与主函数代码分开来在使用的时候再主函数中调用多源文件的使用假设现有my.c和main.c两个源代码文件,现在要再main.c中调用my.c中实现的函数,那么按照规范,应该按如下几步实行:... 阅读全文
posted @ 2019-04-02 22:57 cj5785 阅读(113) 评论(0) 推荐(0)
摘要: 函数的定义返回值类型 函数名([[参数类型 参数名1],[参数类型 参数名2],···,[参数类型 参数n]]){ //执行语句 return 返回值;}返回值类型:用于限定函数返回值的数据类型;函数名:表示函数的名称,该名称可以根据标识符命名规范来定义;... 阅读全文
posted @ 2019-04-02 22:56 cj5785 阅读(195) 评论(0) 推荐(0)
摘要: 函数的定义返回值类型 函数名([[参数类型 参数名1],[参数类型 参数名2],···,[参数类型 参数n]]){ //执行语句 return 返回值;}返回值类型:用于限定函数返回值的数据类型;函数名:表示函数的名称,该名称可以根据标识符命名规范来定义;... 阅读全文
posted @ 2019-04-02 22:56 cj5785 阅读(123) 评论(0) 推荐(0)
摘要: 对于C语言来说,字符串其实就是最后一个元素为’\0’的char数组字符数组的初始化字符数组常见的有两种初始化方式char str[] = "hello";或者char str[] = {'h', 'e', 'l', 'l', 'o'};当使用sizeof(s... 阅读全文
posted @ 2019-04-02 22:55 cj5785 阅读(145) 评论(0) 推荐(0)
摘要: 对于C语言来说,字符串其实就是最后一个元素为’\0’的char数组字符数组的初始化字符数组常见的有两种初始化方式char str[] = "hello";或者char str[] = {'h', 'e', 'l', 'l', 'o'};当使用sizeof(s... 阅读全文
posted @ 2019-04-02 22:55 cj5785 阅读(126) 评论(0) 推荐(0)
摘要: 数组的概念数组是一组具有相同数据类型的变量集合,这里要注意两点,数组只能存储相同的数据类型和数组的内存是连续的,这位数组和指针的联系奠定了基础。一维数组定义及初始化一维数组指的是只有一个下标的数组,它用来表示一组具有相同类型的数据其格式为类型说明符 数组名... 阅读全文
posted @ 2019-04-02 22:54 cj5785 阅读(168) 评论(0) 推荐(0)
摘要: 数组的概念数组是一组具有相同数据类型的变量集合,这里要注意两点,数组只能存储相同的数据类型和数组的内存是连续的,这位数组和指针的联系奠定了基础。一维数组定义及初始化一维数组指的是只有一个下标的数组,它用来表示一组具有相同类型的数据其格式为类型说明符 数组名... 阅读全文
posted @ 2019-04-02 22:54 cj5785 阅读(284) 评论(0) 推荐(0)
摘要: 什么是句柄维基百科:在程序设计中,句柄(handle)是Windows操作系统用来标识被应用程序所建立或使用的对象的整数。其本质相当于带有引用计数的智能指针。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,可以使用句柄句柄能干嘛在得... 阅读全文
posted @ 2019-04-02 22:52 cj5785 阅读(1114) 评论(0) 推荐(0)
摘要: 什么是句柄维基百科:在程序设计中,句柄(handle)是Windows操作系统用来标识被应用程序所建立或使用的对象的整数。其本质相当于带有引用计数的智能指针。当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,可以使用句柄句柄能干嘛在得... 阅读全文
posted @ 2019-04-02 22:52 cj5785 阅读(261) 评论(0) 推荐(0)
摘要: 常用的流程图符号起止框用于表示流程的开始或结束;输入/输出框用平行四边形表示,在平行四边形内可以写明输入或输出的内容;判断框用菱形表示,它的作用是对条件进行判断,根据条件是否成立来决定如何执行后续的操作;处理框用矩形表示,它代表程序中的处理功能,如算术运算和... 阅读全文
posted @ 2019-04-02 22:46 cj5785 阅读(239) 评论(0) 推荐(0)
摘要: 常用的流程图符号起止框用于表示流程的开始或结束;输入/输出框用平行四边形表示,在平行四边形内可以写明输入或输出的内容;判断框用菱形表示,它的作用是对条件进行判断,根据条件是否成立来决定如何执行后续的操作;处理框用矩形表示,它代表程序中的处理功能,如算术运算和... 阅读全文
posted @ 2019-04-02 22:46 cj5785 阅读(231) 评论(0) 推荐(0)
摘要: 一些基本概念数据对象:泛指数据在内存的存储区域左值:表示可以被更改的数据对象右值:能赋给左值的量算数运算符运算符描述实例+把两个操作数相加a + b-从第一个操作数中减去第二个操作数a - b*把两个操作数相乘a * b/分子除以分母a / b%取模运算符,... 阅读全文
posted @ 2019-04-02 22:42 cj5785 阅读(97) 评论(0) 推荐(0)
摘要: 一些基本概念数据对象:泛指数据在内存的存储区域左值:表示可以被更改的数据对象右值:能赋给左值的量算数运算符运算符描述实例+把两个操作数相加a + b-从第一个操作数中减去第二个操作数a - b*把两个操作数相乘a * b/分子除以分母a / b%取模运算符,... 阅读全文
posted @ 2019-04-02 22:42 cj5785 阅读(160) 评论(0) 推荐(0)
摘要: 存储方式字符串是内存中一段连续的char空间,以’\0’结尾字符串就是0结尾的连续char的内存‘\0’ 0 nullprintf函数,putchar函数printf格式字符字符对应数据类型含义dint接受整数值并将它表示为有符号的十进制整数hdShor... 阅读全文
posted @ 2019-04-02 22:41 cj5785 阅读(598) 评论(0) 推荐(0)
摘要: 注入工具dllinject注入流程编写可注入动态库dll__declspec(dllexport)int go(){ //需要注入的程序代码}打开dllinject,选择需要注入的宿主程序,选择注入的dll,选择要执行的函数。例子:植物大战僵尸修改阳光... 阅读全文
posted @ 2019-04-02 22:40 cj5785 阅读(329) 评论(0) 推荐(0)
摘要: 注入工具dllinject注入流程编写可注入动态库dll__declspec(dllexport)int go(){ //需要注入的程序代码}打开dllinject,选择需要注入的宿主程序,选择注入的dll,选择要执行的函数。例子:植物大战僵尸修改阳光... 阅读全文
posted @ 2019-04-02 22:40 cj5785 阅读(170) 评论(0) 推荐(0)
摘要: 产生随机数int t = (int)time(NULL);srand(t);int num = rand() % 10;利用keybd_event函数自动打印,mouse_event函数保存文件#include void data(char str);int... 阅读全文
posted @ 2019-04-02 22:36 cj5785 阅读(185) 评论(0) 推荐(0)
摘要: 常量在程序中不可变化的量,也就不可赋值常用两种定义方式,#define和const另外还有一个字符串常量define#define MAX 100#define在预编译的时候,其实也是做的简单文本替换可以通过gcc -E test test.c进行验证注:使... 阅读全文
posted @ 2019-04-02 22:35 cj5785 阅读(191) 评论(0) 推荐(0)
摘要: 常量在程序中不可变化的量,也就不可赋值常用两种定义方式,#define和const另外还有一个字符串常量define#define MAX 100#define在预编译的时候,其实也是做的简单文本替换可以通过gcc -E test test.c进行验证注:使... 阅读全文
posted @ 2019-04-02 22:35 cj5785 阅读(128) 评论(0) 推荐(0)
摘要: Linux常用命令ls-查看文件信息(list)相当于Windows下的dir命令格式:ls [参数] 目录或文件参数含义-a显示指定目录下所有子目录与文件,包括隐藏文件-l以长格式显示文件的详细信息注:列出文件的信息说明:第一位代表文件类型,"-"表示常规... 阅读全文
posted @ 2019-04-02 22:31 cj5785 阅读(91) 评论(0) 推荐(0)
摘要: Linux常用命令ls-查看文件信息(list)相当于Windows下的dir命令格式:ls [参数] 目录或文件参数含义-a显示指定目录下所有子目录与文件,包括隐藏文件-l以长格式显示文件的详细信息注:列出文件的信息说明:第一位代表文件类型,"-"表示常规... 阅读全文
posted @ 2019-04-02 22:31 cj5785 阅读(113) 评论(0) 推荐(0)
摘要: 在很多时候,我们需要对Linux的配置文件进行修改。此时就涉及到了不同Linux发行版的修改配置问题。下面就以主流的几个操作系统(Unix:Solaris,Linux:Ubuntu,Redhat)作为说明,添加当前目录到环境变量,来具体阐述Linux的配置文... 阅读全文
posted @ 2019-04-02 22:27 cj5785 阅读(449) 评论(0) 推荐(0)
摘要: 在很多时候,我们需要对Linux的配置文件进行修改。此时就涉及到了不同Linux发行版的修改配置问题。下面就以主流的几个操作系统(Unix:Solaris,Linux:Ubuntu,Redhat)作为说明,添加当前目录到环境变量,来具体阐述Linux的配置文... 阅读全文
posted @ 2019-04-02 22:27 cj5785 阅读(447) 评论(0) 推荐(0)
摘要: 第一个C语言程序#include //1int main() //2{ printf("This is a C language"); //3 return 0; //4}以上是一个最简单的C语言程序,但却包含了C的很多重要语法。//在C语言中作... 阅读全文
posted @ 2019-04-02 22:25 cj5785 阅读(200) 评论(0) 推荐(0)
摘要: 计算机结构组成CPU(中央处理器)(控制器+运算器)存储器(内存+外存)输出设备输入设备计算机系统组成硬件系统主机中央处理器运算器控制器内存储器只读存储器随机存储器外部设备输入设备输出设备外存储器软件系统系统软件操作系统语言处理系统系统服务程序数据库管理系统... 阅读全文
posted @ 2019-04-02 22:23 cj5785 阅读(111) 评论(0) 推荐(0)
摘要: 计算机结构组成CPU(中央处理器)(控制器+运算器)存储器(内存+外存)输出设备输入设备计算机系统组成硬件系统主机中央处理器运算器控制器内存储器只读存储器随机存储器外部设备输入设备输出设备外存储器软件系统系统软件操作系统语言处理系统系统服务程序数据库管理系统... 阅读全文
posted @ 2019-04-02 22:23 cj5785 阅读(168) 评论(0) 推荐(0)
摘要: 符合一定规则,对于字符串进行操作的一种表达式在其他语言中,\\表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义在Java中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义正则表达式在Java中有三... 阅读全文
posted @ 2019-04-02 13:05 cj5785 阅读(140) 评论(0) 推荐(0)
摘要: 符合一定规则,对于字符串进行操作的一种表达式在其他语言中,\\表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义在Java中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义正则表达式在Java中有三... 阅读全文
posted @ 2019-04-02 13:05 cj5785 阅读(69) 评论(0) 推荐(0)
摘要: Java反射机制实在运行状态时,对于任意一个类,都能够知道这个类的属性和方法,对于任意一个对象,都能够调用他的任意一个属性和方法获取Class对象的三种方式Object类中的getClass()方法想要用这种方式,必须要明确具体的类,并创建对象Person ... 阅读全文
posted @ 2019-04-02 13:05 cj5785 阅读(105) 评论(0) 推荐(0)
摘要: Java反射机制实在运行状态时,对于任意一个类,都能够知道这个类的属性和方法,对于任意一个对象,都能够调用他的任意一个属性和方法获取Class对象的三种方式Object类中的getClass()方法想要用这种方式,必须要明确具体的类,并创建对象Person ... 阅读全文
posted @ 2019-04-02 13:05 cj5785 阅读(151) 评论(0) 推荐(0)
摘要: Java提供了网络编程,并且在实际中有着大量运用网络编程网络编程概述网络模型OSI参考模型TCP/IP参考模型网络通讯要素IP地址端口号传输协议网络参考模型网络通讯要素IP地址:InetAddress网络中设备的标识不易记忆,可用主机名本地回环地址:127.... 阅读全文
posted @ 2019-04-02 13:05 cj5785 阅读(101) 评论(0) 推荐(0)
摘要: Java提供了网络编程,并且在实际中有着大量运用网络编程网络编程概述网络模型OSI参考模型TCP/IP参考模型网络通讯要素IP地址端口号传输协议网络参考模型网络通讯要素IP地址:InetAddress网络中设备的标识不易记忆,可用主机名本地回环地址:127.... 阅读全文
posted @ 2019-04-02 13:05 cj5785 阅读(111) 评论(0) 推荐(0)
摘要: Java也提供图像化编程图形化GUI(图形用户界面)GUIGraphical User Interface(图形用户接口)用图形的方式,来显示计算机操作的界面,这样更方便更直观CLICommand line User Interface (命令行用户接口)就... 阅读全文
posted @ 2019-04-02 13:05 cj5785 阅读(207) 评论(0) 推荐(0)
摘要: Java也提供图像化编程图形化GUI(图形用户界面)GUIGraphical User Interface(图形用户接口)用图形的方式,来显示计算机操作的界面,这样更方便更直观CLICommand line User Interface (命令行用户接口)就... 阅读全文
posted @ 2019-04-02 13:05 cj5785 阅读(489) 评论(0) 推荐(1)
摘要: Lambda表达式支持将代码块作为方法参数,Lambda表达式允许使用简洁的代码来创建只有一个抽象方法的接口(这种接口被称为函数是接口)的实例意义自从Java 8开始,Java支持Lambda表达式当使用Lambda表达式代替匿名内部类创建对象时,Lambd... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(166) 评论(0) 推荐(0)
摘要: IO(Input Output)流,用来处理设备之间的数据传输IOIO概述Java对数据的操作是通过流的方式Java用于操作流的对象都在IO包中流按操作数据分为两种:字节流与字符流流按流向分为:输入流,输出流最开始只有字节流,这符合计算机底层的存储原理,后来... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(228) 评论(0) 推荐(0)
摘要: IO(Input Output)流,用来处理设备之间的数据传输IOIO概述Java对数据的操作是通过流的方式Java用于操作流的对象都在IO包中流按操作数据分为两种:字节流与字符流流按流向分为:输入流,输出流最开始只有字节流,这符合计算机底层的存储原理,后来... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(77) 评论(0) 推荐(0)
摘要: Java中有很多类是很常用的,此处列举System,Runtime,Date,Calendar,MathSystemSystem:类中的方法和属性都是静态的字段摘要static PrintStreamerr “标准”错误输出流static InputStre... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(105) 评论(0) 推荐(0)
摘要: Java中有很多类是很常用的,此处列举System,Runtime,Date,Calendar,MathSystemSystem:类中的方法和属性都是静态的字段摘要static PrintStreamerr “标准”错误输出流static InputStre... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(151) 评论(0) 推荐(0)
摘要: JDK1.5以后出现的机制,用以解决安全性问题泛型出现的原因泛型的特点提高了程序的安全性将运行期遇到的问题转移到了编译期省去了类型强转的麻烦泛型类的出现优化了程序设计泛型出现的好处将运行时期出现问题ClassCastException,转移到了编译时期,方便... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(91) 评论(0) 推荐(0)
摘要: JDK1.5以后出现的机制,用以解决安全性问题泛型出现的原因泛型的特点提高了程序的安全性将运行期遇到的问题转移到了编译期省去了类型强转的麻烦泛型类的出现优化了程序设计泛型出现的好处将运行时期出现问题ClassCastException,转移到了编译时期,方便... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(109) 评论(0) 推荐(0)
摘要: 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多 个对象的操作,就对对象进行存储,集合就是存储对象常用的一 种方式集合的概念数组和集合的区别数组虽然也可以存储对象,但长度是固定的,集合长度是可变的数组中可以存储基本数据类型,集合只能存储对象集合类的... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(109) 评论(0) 推荐(0)
摘要: 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多 个对象的操作,就对对象进行存储,集合就是存储对象常用的一 种方式集合的概念数组和集合的区别数组虽然也可以存储对象,但长度是固定的,集合长度是可变的数组中可以存储基本数据类型,集合只能存储对象集合类的... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(107) 评论(0) 推荐(0)
摘要: Java存在垃圾回收机制,JVM会去回收垃圾,释放资源,而不是像C++一样有程序员去完成垃圾回收机制的特点垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源(例如数据库连接、网络IO等资源)程序无法精确控制垃圾回收的运行,垃圾回收会在合适的时候进行在... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(105) 评论(0) 推荐(0)
摘要: Java存在垃圾回收机制,JVM会去回收垃圾,释放资源,而不是像C++一样有程序员去完成垃圾回收机制的特点垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源(例如数据库连接、网络IO等资源)程序无法精确控制垃圾回收的运行,垃圾回收会在合适的时候进行在... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(106) 评论(0) 推荐(0)
摘要: 实例有限且固定的类成为枚举类枚举类的实现早期时候的实现形式:public static final int SEASON_SPRING = 1;public static final int SEASON_SUMMER = 2;public static f... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(188) 评论(0) 推荐(0)
摘要: 实例有限且固定的类成为枚举类枚举类的实现早期时候的实现形式:public static final int SEASON_SPRING = 1;public static final int SEASON_SUMMER = 2;public static f... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(102) 评论(0) 推荐(0)
摘要: Lambda表达式支持将代码块作为方法参数,Lambda表达式允许使用简洁的代码来创建只有一个抽象方法的接口(这种接口被称为函数是接口)的实例意义自从Java 8开始,Java支持Lambda表达式当使用Lambda表达式代替匿名内部类创建对象时,Lambd... 阅读全文
posted @ 2019-04-02 13:04 cj5785 阅读(129) 评论(0) 推荐(0)
摘要: 这里介绍Java的包,classpath,import和jar包(package)对类文件进行分类管理给类提供多层命名空间写在程序文件的第一行类名的全称的是 包名.类名包也是一种封装形式javac -d . Demo.java包之间的访问被访问的包中的类权限... 阅读全文
posted @ 2019-04-02 13:03 cj5785 阅读(97) 评论(0) 推荐(0)
摘要: 多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能进程与线程的概念进程:是一个正在执行中的程序每一个进程执行都有一个执行顺序。... 阅读全文
posted @ 2019-04-02 13:03 cj5785 阅读(98) 评论(0) 推荐(0)
摘要: 这里介绍Java的包,classpath,import和jar包(package)对类文件进行分类管理给类提供多层命名空间写在程序文件的第一行类名的全称的是 包名.类名包也是一种封装形式javac -d . Demo.java包之间的访问被访问的包中的类权限... 阅读全文
posted @ 2019-04-02 13:03 cj5785 阅读(204) 评论(0) 推荐(0)
摘要: 基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换包装类的由来为了解决8种基本数据类型的变量不能当成Object类型变量使用的问题,Java提供了包装类(Wrapper Class)的概念,为8种基本数据类型分别定义了相应的引用类... 阅读全文
posted @ 2019-04-02 13:03 cj5785 阅读(135) 评论(0) 推荐(0)
摘要: 基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换包装类的由来为了解决8种基本数据类型的变量不能当成Object类型变量使用的问题,Java提供了包装类(Wrapper Class)的概念,为8种基本数据类型分别定义了相应的引用类... 阅读全文
posted @ 2019-04-02 13:03 cj5785 阅读(226) 评论(0) 推荐(0)