C/C++
文章平均质量分 79
Jelly-小丑鱼
windows应用程序开发,Linux程序开发,终端安全开发
展开
-
C++的继承和多态的理解
就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同 的状态原创 2022-07-01 17:54:51 · 353 阅读 · 0 评论 -
linux下JNI的调用方法
本文原创 2020-11-27 15:18:37 · 477 阅读 · 0 评论 -
链表和二级指针的理解
看上去这两个名词没有直接的联系,其实我只是突然想到这两个名词我之前的理解不够,想在此同时记录一下我对他们再次的理解,所以大家也不要纠结为什么把这两个技术点放在一起来解释。如果说这两个技术点又什么联系其实作为一个做IT的开放人员来说,有时候你会发现你用代码实现了一个东西,但是你不知道为什么要这么用,这个代码的原理是什么,为什么要使用这种方法?其实我发现你对这个事情的理解程度非常有用,他会让你对代...原创 2020-08-13 18:29:39 · 990 阅读 · 0 评论 -
C/C++指针的理解和解析
C/C++原创 2020-03-19 15:25:41 · 326 阅读 · 0 评论 -
内存、堆栈和各种变量的理解
其实早就想梳理下这些知识点,一直碍于没有合适的时间,没有合适的心情(那是一种feel,????),今天大致梳理一下这些知识点,记录一下。1、内存 有时候大家听到内存这个词也许会根flash存储混淆,其实这个也很正常,在我还没有接触计算机和技术相关的事情的时候,我也不清楚,大家经常说自己手机内存不够了,16G,32G不够用等等之类的,其实正确的叫法应该是flash存储不...原创 2020-03-18 18:44:22 · 866 阅读 · 0 评论 -
GCC编译过程详解
gcc编译过程从hello.c到hello(或a.out)文件, 必须历经hello.i、hello.s、hello.o,最后才得到hello(或a.out)文件,分别对应着预处理、编译、汇编和链接4个步骤,整个过程如图 所示:这4步大致的工作内容如下:(1) 预处理,C编译器对各种预处理命令进行处理,包括头文件包含、宏定义的扩展、条件编译的选择等...原创 2020-01-20 17:19:39 · 767 阅读 · 0 评论 -
sizeof和strlen的使用区别
最近突然想总结一下sizeof、strlen、字符串、数组,这些概念信息。相信学过C语言的人都能耳熟能详,也能谈得头头是道,但是,在实际运用中,当这些内容交织在一起时,大家却不一定能搞地清清楚楚,本文的目的正是帮助大家将相关知识总结清楚。看下面一段代码:#include <stdio.h>#include <stdlib.h>void testchar(ch...转载 2019-07-18 14:34:37 · 217 阅读 · 0 评论 -
Linux入门级gdb调试--C/C++语言
Linux上面一般使用gdb来进行代码的调试,调试我目前知道的方法是:首先将写好的LinuxC/C++代码编译成可执行文件,注意编译的时候生成目标文件.o的时候必须加上-g参数,-g参数是表示生成的.o文件是包含有打印信息的,如果不加的话,无法进行调试,因为没有任何打印信息。下面我将根据一个简单的demo程序来进行讲解gdb的调试:首先我的文件目录如下:.├── add.c├── i...原创 2018-10-18 16:00:03 · 550 阅读 · 0 评论 -
make之makefile 十 函数库文件
一、简单的静态库书写编译和测试文件目录如下所示:.├── Makefile├── MakefileTest├── include.c├── include.h└── main.c0 directories, 5 files其中main.c函数里面会调用include.c里面的函数,所以此时的Makefile文件内容如下:#this is a makefile de...原创 2018-10-17 22:03:20 · 1026 阅读 · 0 评论 -
make之makefile 九 隐含规则
在我们使用Makefile时,有一些我们会常用,而且使用频率非常高的东西,比方,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不须要我们再写出来的规则。“隐含规则”也就是一种惯例,make会依照这样的“惯例”心照不喧地来运行,那怕我们的Makefile中沒有书写这样的规...原创 2018-10-17 15:19:33 · 341 阅读 · 0 评论 -
make之makefile 八 make 的运行
一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前文件夹的makefile来运行,一切都是自己主动的。但也有时你或许仅仅想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述怎样使用make命令的。一、make的退出码make命令运行后有三个退出码:0 —— 表示成功运行。1 —— 假...原创 2018-10-17 14:42:23 · 227 阅读 · 0 评论 -
make之makefile 七 使用函数
在Makefile中能够使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算非常多,只是已经足够我们的操作了。函数调用后,函数的返回值能够当做变量来使用。一、函数的调用语法函数调用,非常像变量的使用,也是以“$”来标识的,其语法例如以下:$(<function> <arguments> )或是${<func...原创 2018-10-17 13:48:57 · 205 阅读 · 0 评论 -
关于函数strtok和strtok_r的使用要点和实现原理(一)
strtok函数的使用是一个老生常谈的问题了。该函数的作用很大,争议也很大。以下的表述可能与一些资料有区别或者说与你原来的认识有差异,因此,我尽量以实验为证。交代一下实验环境是必要的,winxp+vc6.0,一个极端平民化的实验环境。本文中使用的源代码大部分来自于网络,我稍加修改作为例证。当然,本人水平有限,有不妥之处在所难免,各位见谅的同时不妨多做实验,以实验为证。strtok的函数原型转载 2015-10-30 10:34:27 · 439 阅读 · 0 评论 -
window编程之CreateProcess
1.函数说明:WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。2.函数原型:BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATT转载 2017-07-20 16:42:04 · 3387 阅读 · 0 评论 -
make之makefile 一 介绍
大家都知道make是Linux上面的代码编译工具,说白了make其实就是一种脚本,而makefile就是这样的一个脚本文件,脚本文件是将我们想要做的事情集合起来,然后统一执行,这样可以提供效率,以后运行不需要再一个一个去执行,只需要运行脚本文件makefile即可。好了,我们开始吧,由于我是初学者,所以记录的东西都是比较基本的,请大家多多理解。此文章是我从另一篇文章中提取出来的,分类出来,便于...原创 2018-10-13 14:11:02 · 182 阅读 · 0 评论 -
Cmake之CMakeLists.txt
我们知道makefile是在Linux编译c或者c++代码的时候的一种脚本文件,但是每一个功能都要写一个makefile文件,这样如果这个工程很大,而且相关性比较强的话,makefile的书写就会变得相对繁琐,更要命的是如果以后需要添加新的功能或者是新人需要修改功能的话,看起来就会特别麻烦;因为介于此,cmake的出现就是为了解决这样的问题,cmake的入门相当容易,而且管理也特别...原创 2018-10-12 16:25:25 · 42071 阅读 · 8 评论 -
make之makefile 二 总述
此文章是我从另一篇文章中提取出来的,分类出来,便于初学者学习查看,该文章地址:https://www.cnblogs.com/mfryf/p/3305778.html一、Makefile里有什么?Makefile里主要包括了五个东西:显式规则、隐晦规则、变量定义、文件指示和凝视。1、显式规则。显式规则说明了,怎样生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的...原创 2018-10-13 17:55:57 · 152 阅读 · 0 评论 -
make之makefile 三 书写规则
makefile的规则包括两个部分,一个是依赖关系,一个是生成目标的方法。在Makefile中,规则的顺序是非常重要的,由于,Makefile中仅仅应该有一个最终目标,其他的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有非常多,可是第一条规则中的目标将被确立为最终的目标。假设第一条规则中的目标有非常多个,那么,第一个...原创 2018-10-15 18:04:48 · 682 阅读 · 0 评论 -
make之makefile 四 书写命令
每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的运行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,可是假设该空格或空行是以Tab键开头的,那么make会觉得其是一个空命令。我们在UNIX下可能会使用不同的Shell,可是make的命令默认是被“/bin/sh”——UNIX的标准She...原创 2018-10-16 14:39:57 · 392 阅读 · 0 评论 -
make之makefile 五 使用变量
在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中运行的时候其会自己主动原模原样地展开在所使用的地方。其与C/C++所不同的是,你能够在Makefile中改变其值。在Makefile中,变量能够使用在“目标”,“依赖目标”,“命令”或是Makefile的其他部分中。变量的命名字能够包括字符、数字,下划线(能够是数字开头),但不应该含有“...原创 2018-10-16 14:52:18 · 718 阅读 · 0 评论 -
make之makefile 六 使用条件推断
使用条件推断,能够让make依据运行时的不同情况选择不同的运行分支。条件表达式能够是比較变量的值,或是比較变量和常量的值。一、演示例子以下的样例,推断$(CC)变量是否“gcc”,假设是的话,则使用GNU函数编译目标。var1 := Avar2 := B.PHONY:allall:ifeq ($(var1),$(var2)) # 注意:在ifeq 前面不能使用\tab键...原创 2018-10-16 18:06:30 · 224 阅读 · 0 评论 -
C/C++文件编辑的总结
在此之前,我从来没有做过C文件编辑之类的,最近接触了一下,记录下我的一些小心得吧!!1、首先是fopen函数,其只有两个参数,第一个是原创 2015-10-27 14:38:55 · 541 阅读 · 0 评论