- 博客(194)
- 资源 (7)
- 收藏
- 关注
原创 msvc编译器编码错误解决方案
MSVC有专门的编译选项/source-charset 和 /execution-charset,前者表示文件本身的编码,后者表示编译以后的字符数组内的字节是什么编码,编码问题基本可以用这两个选项解决。
2023-11-22 00:12:16 266
原创 msvc 与vs版本对应
MSC 1.0 _MSC_VER == 100MSC 2.0 _MSC_VER == 200MSC 3.0 _MSC_VER == 300MSC 4.0 _MSC_VER == 400MSC 5.0 _MSC_VER == 500MSC 6.0 _MSC_VER == 600MSC 7.0 _MSC_VER == 700MSVC++ 1.0 _MSC_VER == 800MSVC++ 2.0 _MSC_VER ==
2023-05-17 19:27:36 1023
原创 2021-07-07
运行时逻辑每个基于UNIGINE的应用程序都有其生命周期,它由某些阶段组成,其中某些阶段执行一次,其他阶段每帧重复一次。简而言之,这些阶段如下:UNIGINE具有三个主要逻辑组件,它们每个都有一组功能(名为 init(), update(), postUpdate()等),其中包含要在引擎工作周期的相应阶段执行的操作。这些组件是:System Logic是在整个应用程序生命周期中运行的代码(即使在世界之间切换时,其范围也存在)。对于使用UnigineScript编写的应用程序,系统逻辑将写入系统
2021-07-08 10:42:42 221
原创 Redis中的数据类型
Redis数据库里面的每个键值对都是由对象组成的,其中数据库键总是一个字符串对象数据库的值可以是字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种对象中的其中一种字符串Redis中并没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串的抽象类型,并将SDS(simple dynamic string)用作Redis的默认字符串表示在Redis里面,C字符串只会作为字符串字面量用在一些无须对字符串的值进行修改的地方,除此之外须要使用SDSSDS还被用作缓冲区:AO
2021-05-06 09:58:24 280
原创 QT中关于书签的操作
// 通过标签名来获得指定标签对象QAxObject *pBookMarkCode = m_document->querySubObject("Bookmarks(QVariant)", name);// 通过标签名的位置顺序获得标签对象QAxObject *pBookMarkCode = m_document->querySubObject("Bookmarks(QVariant)", 1);//获得第一个标签// 选择指定标签(说实话不知道干啥的)pBookMarkCode-&
2021-03-16 10:53:57 3221 6
原创 哈希函数和哈希表
哈希函数和哈希表?哈希函数和哈希表是非常重要的内容,在面试的时候最经常使用。尤其是辅助作用。哈希函数的算法的原理是超纲的内容(底层的实现是位运算),常见的哈希算法有扩展MD5(返回2^ 64)、SHA1(返回2^128)(哈希函数的实现有数千种实现方法)经典实现中,桶后跟的是链表,Java中的实现,实际上不是O(1),而是O(logN),只不过这个底数很大。桶后跟的是红黑树(查询快)。哈希表开头就是哈希域,这个一般是经过我们压缩了的哈希域,但是可以保证离散性。Hash函数不是用来排序的,hashm
2021-01-16 11:00:42 245
原创 STL
诞生原因 为了建立数据结构合算法的一套标准并且降低期间耦合关系以提升各自的独立性、弹性和互操作性,C++里诞生了STL。六大组件容器:是各种数据结构,从实现角度来看,STL容器是一种类模板。算法:从实现角度来看,STL算法是一种函数模板。迭代器:扮演算法和容器之间的胶合剂,是所谓的泛型指针,迭代器是一种将operator*,operator->,operator++,operator–等指针相关操作予以重载
2021-01-11 12:52:32 224
原创 pragma once 与 #ifdef 的区别
目的:为了避免同一个文件被include多次区别:#ifndef 的方式受 C/C++ 语言标准支持。它不光可以保证同一个文件不会被包含多次,也能保证内容完全相同的两个文件(或者代码片段)不会被不小心同时包含。当然,缺点就是如果不同头文件中的宏名不小心“撞车”,可能就会导致你看到头文件明明存在,编译器却硬说找不到声明的状况——这种情况有时非常让人抓狂,由于编译器每次都需要打开头文件才能判定是否有重复定义,因此在编译大型项目时,ifndef会使得编译时间相对较长,因此一些编译器逐渐开始支持#pragma
2021-01-10 11:40:48 176
原创 链表相交的一系列问题
链表相交的一系列问题单链表可能有环,也可能无环。给定两个单链表的头节点head1和head2,这两个链表可能相交,也可能不相交。请实现一个函数,如果两个链表相交,请返回相交的第一个节点;如果不相交,返回null即可。要求:如果链表1的长度为N,链表2的长度为M,时间复杂度请达到O(N+M),额外空间复杂度请达到O(1)。第一步,我们需要判断给出的链表是不是有环的,如果有环,求出链表的入环节点...
2020-07-10 14:56:51 150
原创 linux常用命令
wc命令(word count)使用语法wc [option] … [FILE]…选项 -c, --bytes 打印字节数 &nb...
2020-07-10 14:55:58 158
原创 对象模型
C++在布局以及存取时间上的额外负担是由以下因素导致的vitual function 机制,用来支持一个有效率的执行期绑定vitrual base class,用以实现“多次出现在继承体系中的base class”,有一个单一而被共享的实例多重继承的额外负担C++是如何支持虚函数的:每个class产生指向每一个虚函数的指针,放在表格中,这个表格就是虚表,虚表存放在只读数据段中每个...
2020-07-10 14:54:43 299
原创 贪心算法
贪心算法我脑补一些策略,并且写出一个非常暴力但是绝对对的方法,然后用对数器来跑这个。找到合适的策略,然后提交。因为OJ测试的时候数据量非常大,导致暴力方法会超时,时间被限制,提交通过以上的方法找到的那个策略是正确的。时间复杂度小。贪心策略正确性的证明千万不要去纠结。实际笔试或者面试的时候通过写对数器的方式来验证正确性。问题1:分金条的问题实质: 的问题。方法:实际解决这个问题的时候,...
2020-07-10 14:53:40 114
原创 IPC概述
IPC分类消息传递:管道、FIFO、消息队列同步:互斥锁、条件变量、读写锁、信号量共享内存区:匿名共享内存区、有名共享内存区过程调用:Solaris门、Sun RPC互斥量和条件变量往往用于线程间的同步,但是他们也能提供不同进程间的同步IPC的持续性IPC类型持续性管道随进程FIFO随进程Posix互斥锁随进程Posix条件变量随进程Posix读写锁随进程fcntl记录上锁随进程Posix消息队列随内核Posix有
2020-06-20 11:01:17 343
原创 线程池
threadpool.c#include <stdlib.h>#include <pthread.h>#include <unistd.h>#include <assert.h>#include <stdio.h>#include <string.h>#include <signal.h>#incl...
2020-04-20 10:53:55 126
翻译 08_SHELL编程之文本处理工具awk
typora-root-url: pictures#课程目标熟悉awk的命令行模式基本语法结构熟悉awk的相关内部变量熟悉awk常用的打印函数print能够在awk中匹配正则表达式打印相关的行一、awk介绍1. awk概述awk是一种编程语言,主要用于在linux/unix下对文本和数据进行处理,是linux/unix下的一个工具。数据可以来自标准输入、一个或多个文件,或...
2020-03-13 11:56:04 128
翻译 01_SHELL编程前奏_小工具
一、文本处理工具1. grep工具grep是行过滤工具;用于根据关键字进行行过滤语法和选项语法:# grep [选项] '关键字' 文件名常见选项:OPTIONS: -i: 不区分大小写 -v: 查找不包含指定内容的行,反向选择 -w: 按单词搜索 -o: 打印匹配关键字 -c: 统计匹配到的行数 -n: 显示行号 -r:...
2020-03-13 11:54:54 127
翻译 07_SHELL编程之文本处理工具sed
二、强悍的sed介绍1. sed用来做啥?sed是Stream Editor(流编辑器)的缩写,简称流编辑器;用来处理文件的,尤其是在脚本中处理文件。(直接修改源文件,不需要交互)2. sed如何处理文件?sed是一行一行读取文件内容并按照要求进行处理,把处理后的结果输出到屏幕。首先sed读取文件中的一行内容,把其保存在一个临时缓存区中(也称为模式空间)然后根据需求处理临时缓冲...
2020-03-12 21:32:40 222
翻译 05_SHELL编程之嵌套循环+随机数及综合案例
#课程目标掌握for循环语句的基本语法结构掌握while和until循环语句的基本语法结构能会使用RANDOM产生随机数理解嵌套循环一、随机数关键词:一切都是未知数,永远不知道明天会抽什么风????????1. 如何生成随机数?系统变量:RANDOM,默认会产生0~32767的随机整数**前言:**要想调用变量,不管你是什么变量都要给钱,而且是美元????打印一个随机数echo $RAND...
2020-03-12 21:32:05 357
翻译 04_SHELL编程之循环语句
一、for循环语句关键词:爱的魔力转圈圈????1. for循环语法结构㈠ 列表循环列表for循环:用于将一组命令执行**已知的次数**基本语法格式for variable in {list} do command command … done或者for variable in a b c ...
2020-03-12 21:31:45 172
翻译 06_SHELL编程之CASE语句+函数+正则
#课程目标掌握case语句的基本语法结构掌握函数的定义及调用掌握常用的正则表达式元字符含义一、case语句关键词:确认过眼神,你是对的人????case语句为多重匹配语句如果匹配成功,执行相匹配的命令1. 语法结构说明:pattern表示需要匹配的模式case var in 定义变量;var代表是变量名pattern 1) ...
2020-03-05 11:47:12 407
翻译 03_SHELL编程之条件判断和流程控制
一、条件判断语法结构1. 条件判断语法格式格式1: test 条件表达式格式2: [ 条件表达式 ]格式3: [[ 条件表达式 ]] (支持正则)特别说明:1)[ 亲亲,我两边都有空格,不空打死你呦 ] ????2)[[ 亲亲,我两边都有空格,不空打死你呦 ]]????3 ) 更多判断,man test去查看,很多的参数都用来进行条件判断2. 条件判断相关参数㈠ 判断文件类...
2020-02-29 21:30:37 141
翻译 02_SHELL编程之变量定义
一、SHELL介绍1. 编程语言分类编译型语言: 程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++解释型语言: 程序不需要编译,程序在运行时由**解释器**翻译成机器语言,每执行一次都要翻译一次。因此效率比较低。比如Python/JavaScri...
2020-02-29 21:13:18 208
原创 信号处理
信号是一种异步的通信方式(信号的到来是异步的,可以与管道对比下)Linux系统中有许多信号,前31号信号都有一个特殊的名字,对应于一个特殊的时间,有时会将他们成为非实时信号,这些信号都是从UNIX系统继承下来的,他们还有个名称叫做不可靠信号。后面31个信号是Linux系统新增的实时信号,也被称作可靠信号,而非实时信号没有固定的次序非实时信号特点非实时信号不排队,信号的响应会相互嵌套如果目...
2020-02-24 16:20:16 699
原创 文件IO
在进行文件描述符的分配的时候,会选择一个最小且未用的返回/************************************************************************* > File Name: 01_test.c > Author: Jia Xiang Hao > Description: > C...
2020-02-23 16:03:32 99
原创 进程使用注意点
进程使用注意点fork( )会使得进程本身被复制(想想细胞分裂),因此被创建出来的子进程和父进程几乎是一模一样的,说“几乎”意味着子进程并不是 100%为一份父进程的复印件,他们的具体关系如下父子进程的以下属性在创建之初完全一样,子进程相当于搞了一份复制品:实际 UID 和 GID,以及有效 UID 和 GID。所有环境变量。进程组 ID 和会话 ID。当前工作路径。除非用chd...
2020-02-23 15:33:51 162
原创 头文件、库文件的搜索顺序
头文件#include “headfile.h”搜索顺序①先搜索当前目录②然后搜索-I指定的目录③再搜索gcc的环境变量CPLUS_INCLUDE_PATH(C程序使用的是C_INCLUDE_PATH)④最后搜索gcc的内定目录/usr/include/usr/local/include/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include...
2020-02-21 16:23:47 678
转载 位段
一.位段的使用使用位段需注意一下几点:1)位段的类型只能是int,unsigned int,signed int三种类型,不能是char型或者浮点型;2)位段占的二进制位数不能超过该基本类型所能表示的最大位数,比如在VC中int是占4个字节,那么最多只能是32位;3)无名位段不能被访问,但是会占据空间;4)不能对位段进行取地址操作;5)若位段占的二进制位数为0,则这个位段必须...
2020-02-21 16:14:03 140
原创 链表的冒泡排序
对于一个数组结构我们一般都不会使用冒泡排序来做的,因为它的时间复杂度是O(N^2),但是为啥在链表身上我们想到了这一个排序呢?因为链表是无法以首地址加偏移的方式来进行操作的,但是却很容易在相邻两个元素之间进行比较。所以我们采用冒泡排序/************************************************************************* > F...
2020-02-21 16:09:35 617
原创 找不到动态库解决方案
方法1 使用环境变量LD_LIBRARY_PATH 将动态库的绝对路径添加到该环境变量中 LD_LIBRARY_PATH=/usr/include/xxx:$LD_LIBRARY_PATH export LD_LIBRARY_PATH 直接在shell中是临时配置,我们可以写入到系统的配置文件中(~/.bashrc或者/etc/profile),从而达到永久配置的目的方法2 给动态...
2020-02-20 16:02:15 1016
Analog Devices Amplifiers and Linear Comparators.IntLib
2020-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人