编程语言
文章平均质量分 52
平凡而伟大(心之所向)
内容分享
展开
-
迁移.net framework 工程到.net core
在迁移.net core的过程中,第一步就是要把.net framework 工程的目标框架改为.net core2.0,但是官网却没有提供转换工具,需要我们自己动手完成了。因为.net core 工程不支持排除文件,所以在完成上述迁移后,原来隐藏的文件会自动添加到工程中,对这些垃圾文件,请识别后,手工删除即可。说一下,很多.net framework的API在.net core中已经没有了,正在迁移前,请看一下下面的.net core的资料。1.创建一个.net core的工程,然后把所有的文件挪过去。原创 2024-09-13 16:52:24 · 1034 阅读 · 0 评论 -
C++新特性以及应用场景
自动类型推导(Auto Type Deduction):让编译器自动推断变量的类型。模块(Modules):提供了一种封装形式,可以更好地进行代码管理和重用。模板(Templates):提高代码复用性,包括模板函数和模板类。异常处理:在可能出错的地方使用,例如文件I/O操作或网络通信。智能指针:管理动态分配的内存,例如在自定义内存管理类中使用。模块:管理大型项目中的编译依赖,例如在大型软件开发项目中。常量表达式:用于编译时计算,例如哈希值或优化计算。自动类型推导:让代码更简洁,例如在使用模板函数时。原创 2024-08-13 19:45:46 · 346 阅读 · 0 评论 -
STL 容器
STL 容器容器 底层数据结构 时间复杂度 有无序 可不可重复 其他 array 数组 随机读改 O(1) 无序 可重复 支持随机访问 vector 数组 随机读改、尾部插入、尾部删除 O(1) 头部插入、头部删除 O(n) 无序 可重复 支持随机访问 deque 双端队列 头尾插入、头尾删除 O(1) 无序 可重复 一个中央控制器 + 多个缓冲区,支持首尾快速增删,转载 2021-06-23 16:10:21 · 135 阅读 · 0 评论 -
C++的四种强制转换
类型转化机制可以分为隐式类型转换和显示类型转化(强制类型转换)(new-type) expressionnew-type (expression)隐式类型转换比较常见,在混合类型表达式中经常发生;四种强制类型转换操作符:static_cast、dynamic_cast、const_cast、reinterpret_cast1)static_cast :编译时期的静态类型检查static_cast < type-id > ( expression )该运算符把express原创 2021-06-21 18:04:26 · 156 阅读 · 0 评论 -
三种常用的嵌入式操作系统
三种常用的嵌入式操作系统——Palm OS、Windows CE、Linux;在此基础上、分析、比较这三种嵌入式操作系统,给出它们之间的异同点及各自的适用范围。1 嵌入式系统与嵌入式操作系统1.1嵌入式系统嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。嵌入式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌入式应用要求实时性,这就要求嵌入式操作转载 2021-05-01 16:24:04 · 2950 阅读 · 0 评论 -
详解目前主流的嵌入式操作系统(RTOS)操作系统
满足实时控制要求的嵌入式操作系统(RTOS)操作系统,以下介绍14种主流的RTOS,分别为μClinux、μC/OS-II、eCos、FreeRTOS、mbed OS、RTX、Vxworks、QNX、NuttX,而国产的嵌入式操作系统包括都江堰操作系统(djyos)、Alios Things、Huawei LiteOS、RT-Thread、SylixOS。下面分别介绍这十四种种嵌入式操作系统的特点。1、μClinuxμClinux是一种优秀的嵌入式Linux版本,其全称为mic...原创 2021-05-01 15:54:05 · 29214 阅读 · 0 评论 -
软件开发模式对比(瀑布、迭代、螺旋、敏捷),你都真正了解了吗?
1、瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法。瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。2、迭代式开发也被称作迭..原创 2020-08-02 21:20:03 · 433 阅读 · 0 评论 -
驱动主动通知应用程序和64位和32位内核的开发区别
其实是应用程序使用 DeviceIoControl 发送请求,内核使用独享的同步事件(KEVENT)来等待.当内核想发送数据给应用程序时就设置事件即可.在应用程序中因为要等待 DeviceIoControl 函数的返回,所以应用程序应该新开一个线程来做这件事情.内核中的缓冲区链表结构内核使用一个 双向链表 来保存已经输入的字符串应用层取 字符串 时...转载 2019-11-19 21:59:31 · 538 阅读 · 0 评论 -
汇编语言--寄存器(内存访问)
知识点:内存中字的存储、DS和[address]、字的传送、mov,add,sub指令、数据段、栈、CPU提供的栈机制、栈顶超界的问题、push,pop指令、栈段。内存中字的存储CPU中,用16位寄存器来存储一个字。高8位存放高位字节,低8位存放低位字节。在内存中存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字要用两个地址连接的内存单元来存放,这个字的低位字节放在...原创 2019-11-20 01:00:29 · 798 阅读 · 0 评论 -
EAX、ECX、EDX、EBX寄存器的作用
一般寄存器:AX、BX、CX、DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器索引暂存器:SI、DISI:来源索引暂存器,DI:目的索引暂存器堆叠、基底暂存器:SP、BPSP:堆叠指标暂存器,BP:基底指标暂存器EAX、ECX、EDX、EBX:為ax,bx,cx,dx的延伸,各為32位元ESI、EDI、ESP、EBP:為si,...转载 2019-11-20 00:55:30 · 216 阅读 · 0 评论 -
Qt Widgets VS QML/Qt Quick
Qt 4.7 发布时,引入了 QML,用于移动开发,其全面支持触摸操作、流畅的动画效果等。但在 Qt 5 中,QML 已经不再局限于移动开发,也可用于开发传统的桌面程序。很长时间里,我都在使用 Qt Widgets。当第一次尝试 QML 时,发现它太原始。但随着 Qt 5 的持续更新,QML 已经大大改善 - 添加了更多的功能、更好的性能以及更多的平台支持。话虽如此,但 QML/Qt Quick 仍在发展,随着版本的更新,也会变得越来越成熟。相比之下,Qt Widgets 更“老”、更成熟,而 QM原创 2021-04-29 12:36:57 · 1094 阅读 · 0 评论 -
C++面试需要掌握的,仅供参考。
语言c 和 c++ 的区别什么是多态什么是虚函数什么是纯虚函数纯虚函数作用和实现方式构造函数可以是虚函数吗析构函数可以是虚函数吗有哪几种强制类型转换,使用场景虚函数表存放的内容多继承的优缺点全局变量和静态变量区别volatile 关键字的使用泛型的概念C++ 内存分区C++11新特性左值和右值的概念指针常量和常量指针单例和观察者模式MVC 模式如何保证代码的可靠性什么是智能指针,智能指针的作用,有哪些以及实现原理模板偏特化是什么堆和栈的区别malloc、fr原创 2021-04-24 12:40:11 · 146 阅读 · 0 评论 -
C++20的四大新特性
C++20(C++ 编程语言标准 2020 版)将是 C++ 语言一次非常重大的更新,将为这门语言引入大量新特性。近日,C++ 开发者 Rainer Grimm 正通过一系列博客文章介绍 C++20 的新特性。目前这个系列文章已经更新了两篇,本篇是第一篇,主要介绍了 C++20 的 Big Four(四大新特性:概念、范围、协程和模块)以及核心语言(包括一些新的运算符和指示符)。C++20 的编译器支持适应新特性的最简单方法是试用它们。那么接下来我们就面临着这个问题:哪些编译器支持 C++20 的哪原创 2021-02-09 11:38:22 · 2494 阅读 · 0 评论 -
c++20新特性概述
Concepts 让 C++ 的模版程序的编写变得更简单和容易理解;Ranges 让我们使用 STL 容器和算法更加简单,并且更容易组合算法及延迟计算;Modules 帮助我们大大加快编译速度,同时弥补了 C++ 使用库和缺乏包管理的缺陷;Coroutines 帮助我们简化异步程序的编写;Reflection 给我们提供强大的编译期 AST 元数据查询能力;...原创 2021-02-08 18:32:55 · 278 阅读 · 0 评论 -
程序员必读书单(持续更新)
程序员必读书单入门书籍程序设计:基础理论:编码:隐匿在计算机软硬件背后的语言 编程语言: C:C和指针 C++:C++程序设计原理与实践,深度探索C++对象模型,C++ primer,Effective C++ Java:Java核心技术(第9版),深入理解Java虚拟机,Effective Java中文版 C#:精通C#(第6版) JavaScript:JavaScript DOM编程艺术(第2版),JavaScript高级程序设计(第3版) Python:Python原创 2020-10-23 16:03:56 · 681 阅读 · 0 评论 -
C语言指针常量和指向常量的指针
指针常量本质是一个常量,而用指针修饰它,那么说明这个常量的值应该是一个指针。指针常量 的值是指针,这个值因为是常量,所以不能被赋值。因为指针常量是一个常量,在声明的时候一定要给它赋初值。一旦赋值,以后这个常量再也不能指向别的地址。下面的例子展示了指针常量不同于指向常量的指针:int var; // 一个int类型的对象int *const c_ptr = &var; // 一个int类型指针常量*c_ptr = 123; // 合法:我们可以修改它所引用的对象++c_ptr; // 错误原创 2020-09-21 19:00:02 · 257 阅读 · 0 评论 -
在Linux中创建静态库.a和动态库.so
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。2. 动态函数库 这类库的名字一般是libxxx.so;相对于静态函数库,动态函...原创 2020-09-03 11:39:00 · 153 阅读 · 0 评论 -
gcc与g++/gcc-c++的异同 以及 各平台C++文件扩展名
gcc与g++/gcc-c++的异同 gcc为GNUCompilerCollection的缩写,可以编译C和C++源代码等,它是GNU开发的C和C++以及其他很多种语言 的编译器(最早的时候只能编译C,后来很快进化成一个编译多种语言的集合,如Fortran、Pascal、Objective-C、Java、Ada、 Go等。) gcc在编译C++源代码的阶...原创 2020-03-25 16:48:52 · 722 阅读 · 0 评论 -
迅雷7界面引擎XLUI_Bolt_SDK的调用例子
=======================================界面引擎 XML文件格式以及XAR包介绍========================================术语:XLUE:Xunlei UIEngine,迅雷UI引擎,代号BOLTXAR: Xunlei Archive,一种迅雷自定义文件格式。标准对象: XLUE引擎内部实现的基础对象类,以及从它派生...转载 2020-03-18 18:49:35 · 786 阅读 · 0 评论 -
常用C++编译器推荐
本文将为大家带来的是几款简单实用的C++编译器(非IDE),希望大家喜欢。GCC(GNUCompilerCollection)官方网站:https://gcc.gnu.org/GCC有Windows移植版本,比较出名的就是MinGW和TDM-GCCGNU编译器套件(GNUCompilerCollection)包括C、C++、Objective-C、Fortran、J...原创 2020-01-03 11:19:53 · 11526 阅读 · 0 评论 -
C++------gcc/g++编译的四个过程
关于gcc与g++简单来说,gcc与g++都是GNU(组织)的一个编译器。需要注意以下几点:gcc与g++都可以编译c代码与c++代码。但是:后缀为.c的,gcc把它当做C程序,而g++当做是C++程序;后缀为.cpp的,两者都会认为是C++程序。 编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接。...转载 2019-11-26 03:22:38 · 464 阅读 · 0 评论 -
Visual C++开发工具与调试技巧整理
1、如何在Release状态下进行调试Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General,Optimizations选Disable(Debug),Debutinfo选ProgramDatabase。在Link标签中选中Generatedebuginfo复选框。注:只是一个介乎...原创 2019-11-23 00:38:15 · 219 阅读 · 0 评论 -
Linux平台基于C/C++的静态库和动态库的区别
我们在编写代码的时候经常用到已有的接口,他们是以库的形式提供给我们使用的,而常见形式有两种,一种常以.a为后缀,为静态库;另一种以.so为后缀,为动态库。那么这两种库有什么区别呢?说明:本文主要说明Linux下的情况,windows不涉及。1. 目标文件在解释静态库和动态库之前,需要简单了解一下什么是目标文件。目标文件常常按照特定格式来组织,在linux下,它是ELF格式(Execut...转载 2019-11-23 00:36:47 · 218 阅读 · 0 评论 -
如何检查内存泄露问题
简单说明了一下没有工具的情况如何运用VC库中的工具来检查代码的内存泄漏问题。一: 内存泄漏 内存泄漏是编程中常常见到的一个问题,内存泄漏往往会一种奇怪的方式来表现出来,基本上每个程序都表现出不同的方式。 但是一般最后的结果只有两个,一个是程序当掉,一个是系统内存不足。 还有一种就是比较介于中间的结果程序不会当,但是系统的反映时间明显降低,需要定时的Reb...原创 2019-11-21 23:29:47 · 203 阅读 · 0 评论 -
C++面试常见题及知识汇总(全面)
1.什么是虚函数?什么是纯虚函数?虚函数是允许被其子类重新定义的成员函数。虚函数的声明:virtual returntype func(parameter);引入虚函数的目的是为了动态绑定;纯虚函数声明:virtual returntype func(parameter)=0;引入纯虚函数是为了派生接口。(使派生类仅仅只是继承函数的接口)2.基类为什么需要虚析构函数?防止内存泄...转载 2019-11-21 22:30:30 · 1224 阅读 · 0 评论 -
C++语言的历史
C++语言是从C语言发展而来的。C语言有很多优点,也有很多不足。如对类型匹配的检查不够严格、基本没有支持代码重用的机制、不支持面向对象等。这使得在用C语言开发大规模的软件时,维护和扩充都比较困难。1967 年,Simula 语言中第一次出现了面向对象 (OO) 的概念,但由于当时软件规模还不大,技术也还不太成熟,面向对象的优势并未发挥出来。1980 年,贝尔实验室的 Bjarne...原创 2019-11-21 00:54:30 · 164 阅读 · 0 评论 -
C++11 新特性汇总
1、指针、智能指针(nullptr、shared_ptr、std::weak_ptr)(1)nullptr作用: C++11 引入了 nullptr 关键字,专门用来区分空指针、0原有问题:传统 C++ 会把 NULL、0 视为同一种东西,这取决于编译器如何定义 NULL实现:nullptr 的类型为 nullptr_t,能够隐式的转换为任何指针或成员指针的类型,也能和他们进行相等或者不等...转载 2019-11-20 02:04:49 · 1334 阅读 · 0 评论 -
零基础Python学习路线,小白的进阶之路!
近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多。一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学习路线图。对于一个零基础的想学习python的朋友来说,学习方法很重要, 学习方法不对努力白费 一定要有一个正确的学习线路与方法Python学习路线一:Python基础...转载 2019-12-21 23:01:26 · 168 阅读 · 0 评论 -
寄存器(cpu工作原理)
来源:王爽老师的《汇编语言》。1、一个典型的CPU由运算器、控制器、寄存器等器件组成,这些器件靠内部总线相连。区别:内部总线实现CPU内部各个器件之间的联系。外部总线实现CPU和主板上其它器件的联系。8086CPU有14个寄存器 它们的名称为: AX、BX、CX、DX、SI、DI、SP、BP、 IP、CS、SS、DS、ES、PSW。8086CPU所有的寄...转载 2019-12-04 02:43:57 · 357 阅读 · 0 评论 -
从业15年,我对编程语言的一点理解,希望对大家有帮助。
一、前言写过代码的同学一定以下两个疑问:(1)我们的代码是如何被机器运行的?是的,它们主要是由预处理器、编译器、汇编器、链接器、解释器这几个过程完成的;当然,语言分为编译型,解释型语言和混合型语言:编译型语言:编译器把源程序每一条语句都编译成机器语言,并保存成二进制文件,这样机器都能直接运行二进制文件,速度比较快。解释型语言:解释器只是在程序执行的时候才一条条解释成机器可以理解...原创 2019-12-04 01:59:28 · 182 阅读 · 0 评论 -
我所理解的编程语言的分类与关系
编译型语言和解释型语言1、编译型语言需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以...原创 2019-11-30 01:28:24 · 123 阅读 · 0 评论 -
目前九种编程语言大汇总(对比与概要分析)
图解九种主流编程语言,从Python、Java到Objective-C。码农世界,哪种才是最好的编程语言?这9张信息图囊括了九种主流编程语言:Python、Java、C、C++、JavaScript、C#、Ruby、PHP以及Objective-C。对于每种编程语言,大家都能够看到由其打造的顶级应用成果,相关职位的平均薪酬(美国)以及该语言的优势与弊端。...转载 2019-11-29 03:02:00 · 455 阅读 · 0 评论 -
六种主流语言C、C++、Java、JavaScript、PHP、Python各有什么用途
编程语言编程语言是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。C和C++C/C++理论上说可以做任何开发, 只要有合适的硬件驱动和API,特点是效率高,基本上是编译语言里面效率最高的。目前而言, C语言主要用来:开发底层模块(比如驱动...转载 2019-11-29 03:00:34 · 839 阅读 · 0 评论 -
Python调用C++程序的几种方法
大家都知道Python的优点是开发效率高,使用方便,C++则是运行效率高,这两者可以相辅相成,不管是在Python项目中嵌入C++代码,或是在C++项目中用Python实现外围功能,都可能遇到Python调用C++模块的需求,下面列举出集中c++代码导出成Python接口的几种基本方法,一起来学习学习吧。1 原生态导出Python解释器就是用C实现,因此只要我们的C++的数据结构能让Pyt...转载 2019-11-26 02:58:58 · 740 阅读 · 2 评论 -
JavaScript的功能是不是都是靠C或者C++这种编译语言提供的?
感觉JavaScript的运行环境都是编译语言写出来的,那么对于一些与操作系统或者复杂运算等功能,是不是都是靠编译语言完成,然后由JavaScript调用这种方式实现的?那JIT技术在编译成机器码后,编译后的机器码能否脱离解释器独自运行呢?JavaScript引擎的实现多如牛毛啊。用C或C++实现的固然很多,但其它语言实现的也不少哇。随便举几个例子:D:DMDScriptJava...转载 2019-11-22 03:29:09 · 338 阅读 · 0 评论 -
c和c++语言概述(较为详细)
目录C语言语言特点(1)简洁的语言(2)具有结构化的控制语句(3)丰富的数据类型(4)丰富的运算符(5)可对物理地址进行直接操作(6)代码具有较好的可移植性(7)可生成的高质量目标代码,高执行效率的程序特有特点缺点C++语言工作原理语言标准C++ 98 标准C++ 03 标准C++ 11 标准C++ 14 标准C++ 17 标准技术应用科学计算网络软件操作系统语言评价C语言C语言是一门面向过程...原创 2019-11-22 03:25:41 · 1405 阅读 · 0 评论 -
Java和C++的应用领域
Java特点:1,跨平台性:跨平台性是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。 Java自带的虚拟机很好地实现了跨平台性。 Java源程序代码经过编译后生成二进制的字节码是与平台无关的,但是可被Java虚拟机识别的一种机器码指令,Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。2,简单:Java语言是一种相当简洁的“...原创 2019-11-22 02:26:13 · 2883 阅读 · 0 评论 -
比较全面的C++面试笔试题整理,温故而知新(加入C++11)
gcc 和 g++的区别简单来说,gcc与g++都是GNU(组织)的一个编译器。需要注意以下几点:gcc与g++都可以编译c代码与c++代码。但是:后缀为.c的,gcc把它当做C程序,而g++当做是C++程序;后缀为.cpp的,两者都会认为是C++程序。 编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成...转载 2019-11-20 19:30:58 · 4591 阅读 · 2 评论 -
关注 Node.js 的 C++ 移植版 node.native
Node.js 逐渐受到社区的广泛关注,最近 Node.js 的 C++ 移植版node.native也悄然出现。node.native 遵循C++11语言,目前还处于紧张的开发阶段,没有正式可靠的版本。采用 node.native 开发 Web 应用,一如 Node.js 的风格一样简洁和强大。以 Web 服务器为例,node.native 的实现代码如下:#includ...转载 2019-11-20 02:34:51 · 292 阅读 · 0 评论 -
C++11 & C++14 & C++17新特性
C++11:C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto、decltype,和模板的大量改进。新的关键字autoC++11中引入auto第一种作用是为了自动类型推导auto的自动类型推导,用于从初始化表达式中推断出变量的数据类型。通过auto的自动类型推导,可以大大简化我们的编程工作auto实际上实在编译时对变量进行了类型推导,所以不会对程序的运行...转载 2019-11-20 02:30:48 · 384 阅读 · 0 评论