自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Matlab实现遗传算法

遗传算法代码详解ContentsI. 清空环境变量II. 绘制函数曲线III. 初始化种群IV. 遗传算法优化V. 输出最优解并绘制最优点VI. 绘制迭代进化曲线Contents使用Matlab进行遗传算法的仿真,使用goat工具箱。I. 清空环境变量clear allclcII. 绘制函数曲线x = 0:0.01:9;y = x + 10*sin(5*x)+7*cos(4*x);figureplot(x, y)xlabel('自变量')ylabel('因变量')title(

2020-07-19 22:08:27 1919

原创 进程间实现内存共享函数讲解

实现进程之间的数据共享。什么是进程?进程是指在系统中正在运行的一个应用程序。在C里面当C程序被编译后成为可执行文件,提交给计算机进行运行时,这时,处在可执行状态中的应用程序可以称为进程。所以 ,我们实现C语言的进程之间的数据共享就是实现两个C程序之间的数据共享。我们的C程序是跑在linux下的,所以我们可以使用共享内存机制实现。server端:1、两个进程一个是写入数据端,一个是读取数据端。我们在写入数据端(write端)需要创建这个共享内存。int shmid;//声明变量 获得共享标识符

2020-07-13 15:06:25 803

原创 C程序的Socket在linux下需要修改的东西

socket通信在linux环境下在C上面执行,需要修改较多东西。1、#include <winsock2.h> 头文件在windows环境下是加载socket的必要文件,在linux下要替换成#include <sys/socket.h>2、加载lib的步骤不需要了 #pragma comment(lib,“ws2_32.lib”)去掉3、不需要初始化WSA4、创建套接字的关键字SOCKET替换成int INVALID_SOCKET替换成-15、绑定ip和端口这一步

2020-07-08 11:07:24 1519

原创 C语言多线程问题

在C语言中使用多线程1、C语言多线程需要使用头文件pthread.h2、使用pthread_t来创建线程id,使用pthread_create创建线程。线程创建完会进行执行。、pthread_create函数有四个参数,第一个参数是指向线程标识符的指针,也就是指向线程id。第二个参数用来设置线程属性,一般为NULL。第三个参数是线程运行函数的起始地址,也就是该线程需要启动的函数。第四个参数是运行函数的参数,进行传参,一般可设置为NULL。3、线程创建完毕后有返回值,返回值为0即为创建成功,否

2020-07-08 11:04:16 1802

原创 accept函数和revc函数

使用accept函数,其原型:int accept(int sockfd, struct sockaddr* addr, socklen_t* len)accept函数主要用于服务器端,一般位于listen函数之后,默认会阻塞进程,直到有一个客户请求连接,建立好连接后,它返回的一个新的套接字 socketfd_new ,此后,服务器端即可使用这个新的套接字socketfd_new与该客户端进行通信,而sockfd 则继续用于监听其他客户端的连接请求。使用recv来接受客户机传过来的数据,其原型:in

2020-07-03 19:33:57 1144

原创 sockaddr_in和sockaddr区别

sockaddr_in解决了sockaddr的缺陷,sockaddr把目标地址信息和端口信息混在一起了,不便于使用,因此我们使用sockaddr_in.sockaddr_in具体结构如下:struct sockaddr_in{sa_family_t sin_family; //地址uint16_t sin_port; //16位TCP/UDP端口号struct in_addr sin_addr; //32位IP地址char

2020-07-03 19:32:50 341

原创 WSAStartup函数和socket函数

WSAStartup函数:其原型:WSAStartup(WORD sockVersion,LPWSADATA lpWSAData)第一个参数我们定义的是加载套接字的必要信息,这个参数用来进行加载套接字。第二个参数是获取相关的信息,我们在使用中使用:WSAStartup(sockVersion, &wsaData),其中sockVersion,是WORD类型的,而wsaData是WSAData 类型的。这个函数进行初始化工作,其函数返回值为整型,返回值为0表示初始化成功,否则返回失败。WSA

2020-07-03 19:30:47 745 1

原创 Socket下关键字解读

WORD:字,是2byte的无符号整数,表示范围0~65535.相当于c语言中2个char的范围。在socket通信中,在初始化WSA的时候我们常用WORD定义socket的版本号进行初始化:WORD sockVersion = MAKEWORD(2, 2);其中MAKEWORD是将两个byte合并成一个WORD,一个在高八位(b),一个在低八位(a):(MAKERWORD(a,b))。WSADATA:是一个结构体,功能是:存放windows socket初始化信息。其结构体如下:struct

2020-07-03 19:27:56 284

原创 C下的服务端Socket

创建服务端的socket需要先在C下需要添加静态库:#pragma comment(lib,“ws2_32.lib”)表示链接Ws2_32.lib这个库。第一步需要先初始化WSA,使用WSAStartup进行初始化,初始化成功返回0,返回非0表示失败。第二步创建套接字 SOCKET第三步绑定IP和端口 ,创建sockaddr_in类型的变量,此sockaddr_in是一个结构体,解决了sockaddr的缺陷,把ip地址和端口号分开进行存储。第四步进行监听,使用listen函数,一般默认liste

2020-07-03 19:23:55 133

原创 Flask安装失败问题

flask是一个python上的轻量级框架,编写中小型服务可以使用。在windows下面进行安装使用命令:pip install Flask但是由于内网原因安装失败。再次尝试使用添加版本号或者添加指定国内镜像源,但都失败。最后使用离线安装解决问题。离线安装先安装依赖,搜索下载依赖网址: https://pypi.python.org/pypi/搜索框进行搜索下载,可下载whl文件或者gz压缩包。对于gz压缩包,解压后使用:python setup.py install命令进行安装。对于whl

2020-07-03 19:08:38 4538 1

原创 Python中sys模板的的使用

Python中sys模板的的使用在python中sys模板提供对解释器使用和维护的一些变量的访问,以及与解释器强烈交互的函数,它始终可用。如sys.stdin:stdin用于除脚本之外的所有解释器的输入,但包括对input()和调用raw_input()。readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for… in … 结构进行处理。如果碰到结束符 EOF 则返回空字符串。python3中使用sys.stdin.readline()可以实

2020-07-03 14:49:53 278

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除