上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 接前上一篇:平台调用 (P/Invoke):DllImport特性说明 首先,我们知道C#和C/C++都是跨平台的,但是原理上他们是不一样的: C#首先编译成一种中间语言(IL)的程序集,然后将这种程序集放到不同平台下的解释器里面去执行,这就是说一次编译到处运行 C/C++是针对不同的平台直接编译, 阅读全文
posted @ 2023-02-20 18:05 没有星星的夏季 阅读(421) 评论(4) 推荐(1) 编辑
摘要: 接上一篇:平台调用 (P/Invoke):托管代码(C#)调用非托管代码(C/C++) 上一篇实现了C#代码以三种方式调用C/C++的非托管代码,核心是DllImportAttribute特性的使用 DllImportAttribute指示某个静态方法的入口在非托管动态链接库中 用我们面向对象的思想 阅读全文
posted @ 2023-01-30 16:42 没有星星的夏季 阅读(395) 评论(0) 推荐(1) 编辑
摘要: 首先,本文基于.net6来实现C#代码来调用C/C++程序(VS2022),主要从三个角度来说明:简单的调用实现、自定义类和结构体、回调函数。 其次,C#调用C/C++一般是通过调用C/C++的动态连接库来实现的,而windows和linux、macos下的动态链接库是有区别的,后面再说,所以本文以 阅读全文
posted @ 2022-12-25 20:18 没有星星的夏季 阅读(620) 评论(0) 推荐(1) 编辑
摘要: 从C#7.0开始,推出了一种新的特性:弃元,这种思想可能来源于Golang。 弃元,就是不想要了的元素变量,用单下划线(_)表示,弃元在编译时起作用,就是搞编译器:这个变量我不要,你可以优化处理。 我们经常在下面几个过程中使用弃元: 1、元组解构赋值 在使用元组解构赋值时,我们往往需要接收元组的所有 阅读全文
posted @ 2022-11-01 18:24 没有星星的夏季 阅读(827) 评论(1) 推荐(1) 编辑
摘要: C#从7.0开始,陆陆续续推出了各种模式匹配,模式是一种特殊的表达式,通过判断给定的值是否满足此表达式而返回true或者false,它就类似于正则表达式的作用。 目前(C#10),可以使用模式匹配的地方有三个: 1、is表达式,从C#7.0开始,is表达式的右边不在只是一个类型,而是一个模式,具体例 阅读全文
posted @ 2022-11-01 18:18 没有星星的夏季 阅读(1018) 评论(0) 推荐(2) 编辑
摘要: switch-case语句经常被认为是if-else语句的替代品,但是在众多程序语言中还是能见到switch的存在,这很大程度上是因为switch更实用,这一点在C#中更能提现。 简单的语法就不说了,一个简单的switch用法: switch (cmd) { case "start": Consol 阅读全文
posted @ 2022-10-31 20:04 没有星星的夏季 阅读(5004) 评论(1) 推荐(5) 编辑
摘要: is运算符 is在C#7.0之前,主要用于检验实例是否是指定的类型,格式: expr is type expr是一个具有值的表达式,type是一个类型。 从C#7.0开始,is表达式将使用模式匹配来操作,格式: expr is pattern expr是一个具有值的表达式,pattern是模式匹配, 阅读全文
posted @ 2022-10-31 20:03 没有星星的夏季 阅读(631) 评论(0) 推荐(0) 编辑
摘要: 接上一篇,上一篇提供了一种手动清理keep-alive组件缓存的一个解决方案,但是要求在非production或者启用devtools的情况下才生效,所以不实用。 在仔细读了源码之后,还是没有一个好的办法,上github的上查看issue,发现很多人都提出了这个问题,但是vue的作者就是不愿意解决, 阅读全文
posted @ 2022-09-22 20:41 没有星星的夏季 阅读(3475) 评论(2) 推荐(1) 编辑
摘要: 用过vue的同学肯定对keep-alive组件不陌生,它允许我们使用key对组件进行缓存,当使用相同key的组件渲染时,就会使用缓存中的组件,这样可以加快渲染速度,特别是在使用路由跳转时,效果是很明显的,而缓存就意味着更多的内存消耗,但是很遗憾,keep-alive组件不允许我们手动释放,我们唯一能 阅读全文
posted @ 2022-09-16 13:52 没有星星的夏季 阅读(4294) 评论(2) 推荐(1) 编辑
摘要: 委托 .NET团队之初想要实现一种用于任何后期绑定算法的引用类型,也就是想要一种可用于对方法引用的一种结构,同时又希望它能支持单播和多播,于是委托诞生了。 多播指的将多个方法调用链接在一起调用,就像一个列表一样 单播指的是单一方法的调用,其实可以认为单播是多播的一种特例 委托是.NET 1.0版本的 阅读全文
posted @ 2022-08-26 20:19 没有星星的夏季 阅读(2664) 评论(0) 推荐(1) 编辑
摘要: Nginx除了可以实现反向代理外,还有个实用的功能,那就是目录浏览,它可以很方便的让我们查看某个目录下的文件内容,并可以选择性的下载。 启用目录浏览 一般的,我们可以创建一个demo.conf配置: server{ listen 18099; listen [::]:18099; location 阅读全文
posted @ 2022-07-26 16:30 没有星星的夏季 阅读(1892) 评论(0) 推荐(0) 编辑
摘要: 鉴于官方没有推出activemq的官方镜像,所以我们需要自己来制作了,先来一波准备工作: 准备工作 首先需要去官网下载activemq,地址:https://archive.apache.org/dist/activemq/5.17.1/ 比如这里我选择了5.17.1版本: 因为activemq需要 阅读全文
posted @ 2022-06-15 18:26 没有星星的夏季 阅读(1704) 评论(0) 推荐(0) 编辑
摘要: 有时间,我们需要rabbitmq测试一下,如果按照原方案部署一个rabbitmq,比较麻烦,这个时候可以使用docker快速构建一个rabbitmq来使用。 rabbitmq:management (推荐) 我们可以通过官方的镜像rabbitmq:management来实现,如果是直接使用命令行: 阅读全文
posted @ 2022-06-10 19:47 没有星星的夏季 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,程序入口是Program的Main方法,在C# 9.0之前,我们需要显示写出这个Main方法,但是如果你使用VS2022新建一个控制台项目,你可能会发现Program里面的Main方法消失了,没错,这就是顶级语句。什么是顶级语句,我们可以正常的理解为Program中Main方法函数体的代 阅读全文
posted @ 2022-05-30 20:25 没有星星的夏季 阅读(3833) 评论(0) 推荐(2) 编辑
摘要: 之前有博友提到swagger页面的地址不好复制,我也有这种感觉,最近又有朋友跟我抱怨这个,所以今天花了点时间来看看有什么解决办法。 原先,在一个swagger页面,如果想复制,当鼠标放在一个接口项上点击后,是无法进行选择的,因为点击表示打开这个选项卡! 但是我们可以点击其它空白区域,然后进行选择是可 阅读全文
posted @ 2022-05-18 18:42 没有星星的夏季 阅读(1375) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 10 下一页