计算机技术学习研究
文章平均质量分 62
goto2091
举一反三求甚解。
热爱计算机科学。
展开
-
aspectc++初级用法
AspectC++用法详细教程见http://www.aspectc.org/doc/ac-languageref.xhtml实例example文件里, 有一个随机事件发生程序——SimpleEventLoop,aspectC++最适合的是插装事件日志编译和使用见AutoMonitor/lib/aspectC++/examples/ 里面编写的示例, acc的文件后缀名为.ah,本质是一种特殊的C++头文件。ac++是编译AspectC++程序的编译器。实现将AspectC++代码转化为C原创 2020-09-07 12:14:21 · 1944 阅读 · 2 评论 -
关于tcp和udp的小结
网络的概述网络的核心是分开的终端的应用程序之间通过信息的交流来完成功能。围绕着这些信息,如何使得这些信息能够准确地传递到某个终端的应用程序中,并且使得该应用程序能够准确读出这些信息的内容。所以有了这些各式各样的协议。其中tcp是传输控制协议,而udp是用户数据报协议。当前互联网是以TCP/IP协议族为基础构建的,TCP/IP协议是一系列网络协议的总称,可以划分为四层:链路层、网络层、传输层和应用层。链路层主要负责封装和解封装IP报文。网络层通过各终端连接起来的各类网络的路径,将IP报文发送给目标原创 2020-09-07 12:04:46 · 190 阅读 · 0 评论 -
用C++生成solidity语言描述的buchi自动机的初级经验
我的项目rvtool(https://github.com/Zeraka/rvtool)中增加了生成solidity语言格式的监控器的模块。solidity特殊之处在于,它是运行在以太坊虚拟机环境中的。EVM和环境是隔离的,因此无法直接读取文件。所以rvtool中通过读取LTL文本生成监控器的方式无法直接照搬到solidity上面。rvtool中建立了表达自动机监控器的数据结构,对该数据结构的赋值是通过几个循环结构完成的。而这个部分无法在solidity代码中表达。将LTL转化为buchi自动机的算法原创 2020-09-05 22:59:04 · 429 阅读 · 0 评论 -
ubuntu修改软件源的两个方法
最快方法——替换法刚安装好的ubutun,打开source.list后,用vim替换的方法将所有的us提付出替换为cn,然后保存退出,更新即可。# vim /etc/apt/source.list# 在vim的界面输入 %s/us/cn/g,保存退出# apt-get update%s/us/cn/g, g是全局的意思。%s是替换。修改软件源为本地镜像源把 /etc/apt/source.list中的内容替换为阿里云的源。deb http://mirrors.aliyun.com/ubu原创 2020-09-04 09:00:10 · 483 阅读 · 0 评论 -
解决multiple definition ofxxx
解决multiple definition ofxxx遇到了一次multiple definition of xxx错误,最后发现问题是包含xxx函数的头文件yyy.h中完整地实现了该xxx函数。而头文件起到的是预编译的作用。之前我的程序编译的时候之所以没有报错是因为只有zzz.h中包含了yyy.h,只有一个文件调用该头文件。直到另一个文件调用该函数,又预编译了一次,导致了multiple definition的问题。 解决办法是只在头文件中声明函数,而在c文件中实现该函数。分离完成之后,在make原创 2020-09-03 11:32:11 · 350 阅读 · 1 评论 -
C++的append函数用法
C++的append函数用法append是向string对象的尾部添加字符串或者字符。1.添加C字符串string A = "abc";const char* B = "qwe";A.append(d);//得到abcqwe2.添加C字符串的一部分string A = "abc";const char* B = "qwe";A.append(B,2);//添加qwe的前两个,qw3.添加string类型同上,直接添加即可。4.添加string类型的一部分string A = "原创 2020-09-03 00:09:13 · 1969 阅读 · 1 评论 -
初步理解进程和线程
参考连接该链接的例子举得很好https://www.cnblogs.com/zhangAlin/p/12460358.html。线程一个进程就相当于一个烤筒,不同进程之间互不干涉,各自具有独立的虚拟地址空间。确保其他进程无法访问该进程的内存。程序必须装进内存才能运行,装进内存的程序就是进程。多个进程在操作系统的调度之下,并发执行。有了进程为什么还要有线程?有两点,1是进程是整个程序,这个程序很大的话,如果仍然线性执行,那么就会很慢。尤其是线性执行过程中出现了阻塞,比如等待输入,那就会直接导致原创 2020-09-01 11:18:24 · 87 阅读 · 0 评论 -
aiohttp的使用杂记
aiohttp建立server 实现aiohttp的web server的核心关键,是实现一个个request handler, rh必须是协程, 其参数是client发送过来的request,并且返回一个Response实例。 举例如下from aiohttp import webasync def hello(request): return web.Response(text="Hello, world")app = web.Application()app.add_rou原创 2020-08-28 15:26:30 · 565 阅读 · 0 评论 -
the installation of redis
the installation of REDIS in ubuntu18.04We use redis 4.x to install it. first we get redis4.x from the website:https://redis.io/download Then we uncompress the file named “redis-4.0.14.tar.gz”.Be...原创 2019-08-03 14:43:43 · 103 阅读 · 0 评论 -
simgrid的安装总结
simgrid的安装总结Simgrid是一个开源的分布式仿真软件,其本质是提供了一列核心函数的工具包,我们可以通过调用这些接口来建立模拟运行在一个特定分布式系统上的程序。安装simgrid的方法在官网有详细的教程:https://simgrid.org/doc/3.21/intro_install.html但新手完全按照这个安装,还是有可能会出错。没办法,linux 尤其是linux c就...原创 2019-03-20 19:57:56 · 1076 阅读 · 0 评论 -
万物皆对象,对象皆有类——另一种方式理解Object类,Class类
面向对象是一种哲学。 1.Object类就是对象类 我们在学习Java的时候会学到超类和子类。 在众多的类中有个类非常的特殊——Object类。该类是所有的类的超类,是所有类的始祖,所有类都由其扩展而来——这是众多Java编程书籍告诉我们的。 然而,这只能让我们从专业的角度去理解。我们要用面向对象的思考方式去理解它。Object,英文就可以翻译为“对象”。Object类就是对象类。 顾名思原创 2016-10-26 23:55:24 · 2482 阅读 · 0 评论 -
Java基础知识学习之面向对象一
类的学习1.什么是面向过程?什么是面向对象? 面向过程专注于程序实现的细节,而面向对象专注的是能够执行行为的主体。 面向对象基于面向过程。人们在编程中发现,某些功能可以组合为一系列集合, 而我们想要使用某种功能时,直接可以访问具有该功能的集合,并且下次还可以使用 这种特性,便被称为面向对象。 1.1什么是对象? 以自然语言举例,小明坐在课桌旁,复习数学知识。–原创 2016-10-15 19:13:44 · 296 阅读 · 0 评论 -
java--数组的学习笔记一之基础知识
/*java–数组的学习笔记一之基础知识A.数组 1.数组如何声明? int[] a=new int[3]; int[]是一个新类型,与int是不同的类型,它是一个引用型类型,特点是,只要是该类型的type,type a的a的本质就是一个指针,而如int b的b不是指针 因此a一开始的值是null,必须先指向实体,而int[3]就是一个原创 2016-10-14 17:04:09 · 426 阅读 · 0 评论 -
java关于时间预定义类的学习研究
/* java关于时间预定义类的学习研究 1.Date类 2.GregorianCalendar类 */ import java.util.*;//要想使用Date类,就必须要有此句 public class AboutTime { public static void main(String[] args) { //使用Date();Date是类原创 2016-10-11 23:26:51 · 253 阅读 · 0 评论