当前位置: 首页 > news >正文

网站建设图片怎么调网站开发计划书网站技术解决方案

网站建设图片怎么调,网站开发计划书网站技术解决方案,汕头网站建设方案优化,自己做的网站不备案不能访问吗很惭愧#xff0c;学了很多年才意识到#xff0c;噢#xff0c;原来这两个系统实现一些功能的时候会使用到不同的库#xff0c;使用不同的函数。 那么#xff0c;也会延伸出一些问题#xff1a; 比如#xff0c;如何实现版本的迁移。一个在Linux上运行的代码如何可以比… 很惭愧学了很多年才意识到噢原来这两个系统实现一些功能的时候会使用到不同的库使用不同的函数。 那么也会延伸出一些问题          比如如何实现版本的迁移。一个在Linux上运行的代码如何可以比较容易地迁移到Windows平台上运行成功呢         同时我们已知编译器得一个功能就是匹配不同的运行平台这里我特指C 这两个语言因为Java 可以全平台通用【这个涉及JDK 稍后补充一下】 一、 Win 和 Linux 的一些库和功能时线上的不同之处 -- API 对比 一网络编程方面 socket相关程序从Windows移植到Linux下需要注意的: 1)头文件 Windows下winsock.h/winsock2.h Linux下sys/socket.h 错误处理errno.h 2)初始化 Windows下需要用WSAStartup Linux下不需要 3)关闭socket Windows下closesocket(…) Linux下close(…) 4)类型 Windows下SOCKET Linux下int 如我用到的一些宏 #ifdef WIN32 typedef int socklen_t; typedef int ssize_t; #endif #ifdef Linux typedef int SOCKET; typedef unsigned char BYTE; typedef unsigned long DWORD; #define FALSE 0 #define SOCKET_ERROR (-1) #endif 5)获取错误码 Windows下getlasterror()/WSAGetLastError() Linux下errno变量 6)设置非阻塞 Windows下ioctlsocket() Linux下fcntl() fcntl.h 7)send函数最后一个参数 Windows下一般设置为0 Linux下最好设置为MSG_NOSIGNAL如果不设置在发送出错后有可 能会导致程序退出。 8)毫秒级时间获取 Windows下GetTickCount() Linux下gettimeofday() 3、多线程 多线程: (win)process.h --〉(Linux)pthread.h _beginthreadx -- pthread_create _endthreadx -- pthread_exit 一、linux下的socket编程 1、客户端执行步骤依次如下: socket() connect() send()或者recv() close() 注意的是connect之前要填充地址结构体IP地址转换为网络字节序一般用inet_aton(). 2、服务器端 socket() bind() listen() accpet() recv()或者send() close() (ps:一般通过将send()和recv()的最后一个参数赋为0或者1来区分阻塞与非阻塞其中0对应阻塞1对应非阻塞) 二、windows下的网络编程 做过windows网络编程的人都知道微软的MFC把复杂的WinSock API函数封装到类里这使得编写网络应用程序更容易。即windows既提供上层的网络API函数也提供底层的API函数。 1、对于采用上层的API函数而言若采用csocket类定义一个对象obj的话那么进行网络编程的步骤如下 客户端 obj.Create() obj.Connect() obj.Receive()或者obj.Send() obj.Close() 服务器端 先调用AfxSocketInit()检测协议栈安装情况 obj.Create() obj.Listen() obj.Accpet() obj.Receive()或者obj.Send() obj.Close() 2、对于采用底层的API函数而言步骤如下 客户端 WSAStartup( socket() connect() send()或者recv() closesocket() 服务器端 WSAStartup() socket() bind() listen() accpet() send() recv() closesocket() (ps:windows下CSocket类为同步方式有阻塞现象CASyncSocket为异步方式无阻塞现象。) 通过以上比较可以发现linux下的网络编程与windows下采用底层的API类似但是也有区别 区别一windows下需加上WSAStartup()函数 区别二关闭socketlinux为close(),windows为closesocket() windows下采用上层的API一般有CSocket和CAsynSocket这两种类型的类 这种情况以下socket函数一般的首字母大写。而底层的API不管是windows下的还是linux下的socket函数首字母都是小写的。 参考https://www.cnblogs.com/Gale-Tech/p/16089336.html 二多线程方面 Linux和windows对于多线程的多线程的实现是不同的。总体来说Linux系统下是用户级的多线程也就是说内核是并不清楚多线程的存在的而windows下则是核心级别的线程内核可以直接对于线程进行管理。 具体来说Linux只是用一个叫做“运行时系统”完成对于多线程的管控。Linux没有一个直接对于多线程可以管理的数据结构他只能对于多线程上一层的进程使用PCB记录进程的信息从而对于进程加以管控。也就是说Linux内核的角度线程就是进程没有专门的线程调度算法这个线程只是可以和别的进程共享资源而已。 但是对于windows操作系统来说内核可以直接管控线程并向应用程序提供api接口。线程的切换是以内核作为支持的线程是调度的基本单位。我们看windows下的多线程示意图如下 我们能看到每一个线程也能站有一部分独有的资源这也就是内核独自管理每一个线程的好处。 下面一张图是Linux和windows对于多线程操作的一些函数对比 参考https://blog.csdn.net/hanzhen7541/article/details/104526896 二、对于一些需要在Windows环境下运行的代码MG32 MG64 实现了过渡方案  MinGW到底是个什么ghost-CSDN博客 其中关于 “ MinGW 和 Cygwin 都可以用来跨平台开发“等对于两者作用实现的比较就可以加深理解的区别
http://www.hkea.cn/news/14293600/

相关文章:

  • 网站开发的背景是指什么软件沈阳小程序开发报价
  • 卖域名的网站要怎么做兼容性视图中显示所有网站
  • 受欢迎的建网站哪家好怎么从网上找客户
  • 网站建设与管理专业工资高吗tcn短网址在线生成
  • 有没关于做动画设计师的网站网站欣赏公司网站案例
  • 网站对于企业的好处网站建设 公司新闻
  • 大庆做网站比较好的公司嘉兴网站seo公司
  • 广州网站百度排名推广龙华网站建设招商
  • 想招聘员工去哪个网站免费做微信链接的网站
  • 找网站建设的企业国内做服装的网站有哪些方面
  • 女人和男人做床上爱网站怎么选择邯郸做网站
  • 北京建站模板企业有哪些网站可以免费看
  • 织梦做的网站如何上线wordpress禁止访问txt
  • 企业活动网站创意案例视觉设计师面试问题
  • 网站管理登录全媒体广告策划与营销
  • 电商网站设计规范建筑安全类网站
  • 怎么做视频网站教程北京电力交易中心有限公司
  • 个人免费网站建站关键词长春网页设计培训
  • 常州抖音seo保定seo推广公司
  • 网站后台word编辑器上海广告公司网站制作
  • 海南 网站 建设自己购买域名做网站
  • 做美工的网站二级建造师官网
  • 站外推广免费网站贵阳网站建设设计公司哪家好
  • 教育网站制作网站网页图片加载慢解决方法
  • 模板网站更改网站推广是什么岗位
  • 网站后台管理系统展望云南网站做的好的公司哪家好
  • 北京微网站设计制作服务软媒win7优化大师
  • 途牛网网站建设评价php招投标网站源码
  • 做电影ppt模板下载网站杭州滨江网站建设
  • 中国人做外贸网站都卖什么wordpress快速发文插件