首先说一下什么是哲学家进餐问题,这是操作系统课程中一个经典的同步问题, 问题如下:如上图,有6个哲学家和6根筷子(那个蓝色部分表示哲学家,那个紫色长条部分表示筷子),他们分别被编了0~5的号!如果某个哲学家想要进餐的话,必须同时拿起左手和右手边的两根筷子才能进餐!哲学家进餐完毕之后,就放下手中拿起的两根筷子!这样其他哲学家就能拿这些筷子进餐了! OK,这样就可能存在一个死锁问题,比如0号哲学家拿了0号筷子,1号哲学家拿了1号筷子!如此往复,最终的结果就是每个哲学家都只拿了1根筷子,每个人都无法进…
相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三) 构建一个基本的前端自动化开发环境 —— 基于 Gulp 的前端集成解决方案(四) 一.准备工作 1.什么是 npm? npm 是 nodejs 的包管理工具,主要功能就是管理.更新.搜索.发布node的包.Gulp 就是通过 NPM 安装的.关于 NP…
在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制.伟大的 cmd.exe ,就是这么任性! 一些情况下,我们需要让每行显示更多的字符,从而避免频繁的换行导致界面出现出现一堆乱糟糟的字符串.当然,你或许也已经看烦了黑底白字的 cmd.exe 界面. 那么,如何改善这种现状呢?其实很简单, cmd.exe 具备一些基本的设置功能,只是不常用而已.如下…
编译的Audacity版本为2.1.2,由于实在windows下编译,其源代码可以从Github上取得 git clone https://github.com/audacity/audacity. 1. 编译WxWidgets Audacity使用wxWidgets作为GUI的框架,Audacity2.1.2需要wxWidgets 3.0.2,所以在编译Audacity之前需要编译wxWidgets.wxWidgets的下载地址为http://www.wxwidgets.org/downloa…
Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客…
mysql ado.net connector下载地址: http://dev.mysql.com/downloads/connector/net/ 选择版本: Generally Available Releases(1)是发布版(bug什么的较少的版本吧),而Development Releases(2)是开发版 我们采用1版本 Windows (x86, 32-bit), MSI Installer 该版本是window下的安装版,如果你安装了这个版本的话,在本机调试的时候可以不用再次注册…
PHP安装 由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境.如果对扩展要求不高,可以使用php7,安装过程类似. 约定: 环境安装目录: D:/phpsetup/ |--php |--php-5.6.22-Win32-VC11-x86 |--apache |--mysql |--www 下载 下载地址: http://php.net/ windows版下载地址: http://windows.php.net/download 官网里Windows的版本有很多.选择哪…
windows下获取IP地址的两种方法: 一种可以获取IPv4和IPv6,但是需要WSAStartup: 一种只能取到IPv4,但是不需要WSAStartup: 如下: 方法一:(可以获取IPv4和IPv6) #define _WINSOCK_DEPRECATED_NO_WARNINGS #include <Winsock2.h> #include <stdio.h> #include <iostream> #include <cstring> #inclu…
一.背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警. 二.脚本详情 1.创建名为:ping-ip.ps1的PS脚本,代码如下所示: # ping 192.168.1.51 Test-Connection 192.168.1.51 -Count 2 If ($? -ne "True"){ Write-Host $address"连接失败…
背景介绍 本文将会示范如何在Windows系统下基于ASP.NET Core构建跨平台服务,并通过Docker容器运行发布. 首先说一下为什么选择这一套组合: 我本人和我们Code4Thought团队关注一切具备生产力的技术和工具,话说有所了解才有所选择,DotNet技术发展趋势也值得我们关注和支持.基于DotNot Core我们可以构建跨平台服务,结合Entity Framework Core(微软强大的ORM),MYSQL(免费),Docker(方便移植),Visual Studio 201…
1.atom/electron github: https://github.com/atom/electron 中文文档: https://github.com/atom/electron/tree/master/docs-translations/zh-CN 2.下载 electron-v0.36.5-win32-x64 https://github.com/atom/electron/releases/download/v0.36.5/electron-v0.36.5-win32-x64.…
最近在回顾之前做过的相关项目,其中包括live555流媒体服务器相关,今天先把live555开源框架在Windows下的编译方法记录一下. live555是一套使用使用开放的标准协议(RTP/RTCP.RTSP.SIP)来处理多媒体流数据的开源C++库,使用LGPL协议.这些库可以编译为Unix(包括Linux和Mac OS X),Windows,和QNX(和其他POSIX系统)来构建流媒体应用.live555已经被用于如"Live555媒体服务器"和"live555代理服务…
1.下载svn服务端和客户端 服务端VISUALSVN SERVER:https://www.visualsvn.com/ 客户端TortoiseSVN:https://tortoisesvn.net/downloads.html 注意系统的位数,32位和64位有对应的版本. 2.安装服务端和客户端 2.1 服务端安装配置 1)安装时需要设置仓库的路径,这里设置为:E:\Repositories,完成安装后该路径下会出现文件: 2)安装完成后在开始菜单中打开 VisualSVN Server,在…
3.5.2动态链接库的创建 3.5.2.1动态链接库的创建流程 动态链接库的创建流程如下图所示: 在系统设计阶段,主要的设计内容包括:类结构的设计以及功能类之间的关系,动态链接库的接口.在动态链接库中,包含两类函数:一类是内部函数,一类是外部函数.内部函数只能在动态链接库的内部使用,不能被动态链接库以外的模块调用:外部函数是该动态链接库的接口,可以被外部模块调用. 为了使外部函数能够被系统外的模块调用,在进行C++代码编写的时候,必须对外部函数执行导出.导出的级别有两种:函数级别的导出和类级别的…
本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.exe是Windows平台下的链接器,C++源代码在使用它们编译.链接后,生成的可执行文件能够在windows操作系统下运行.cl.exe和link.exe集成在Visual Studio中,随着开发工具Visual Studio的安装,它们也被安装到与VC相关的目录下. 使用该编译器的方式有两种,一种…
4动态链接 4.1概述 在静态链接阶段,链接器为PE文件生成了导入表,导出表,符号表,并调整了Call指令后面的操作数,在程序调用的时候,能够直接地或者间接地定位到IAT中的某个位置,在PE文件中,该位置包含符号的名称,当PE文件加载到内存以后,该位置应该修正为符号的地址.这些已有的信息和已经完成的工作是后续动态链接的基础. 动态链接的任务是:在程序的加载或者运行阶段,执行各个模块的基址重定位工作,并将IAT中的符号名称修正为动态链接库中被调用的符号的地址. 动态链接分为隐式动态链接和显式动态链…
MarkdownPad 是 Windows 平台下一款优秀的 Markdown 编辑器,本文简单介绍 Markdown 以及使用一种方法破解 MarkdownPad 使其升级到专业版.该方法仅限于教育用途,我不为滥用该方法导致的商业纠纷负责! Markdown 简介 Markdown 是一种轻量级标记语言,有着及其简单.易学易用的语法,任何人在几分钟之内都可以掌握其基本语法并用来写作,你可以在 这里 学习markdown的基本语法.其创始人 John Gruber 下面的话高度概括了 Markd…
http://sourceforge.net/projects/getgnuwin32 使用过linxu的伙计估计都会喜欢上linux各种各样强大的命令如:grep, sed,awk,diff和patch.cygwin是一个windows下的linux模拟器,对于想在windows下使用linux命令的人来说是一个选择.但是cygwin过于复杂庞大,下载比较费劲,本人最终没有下载,也没有用过.个人感觉GunWin32是一个不错的选择,GnuWin32使windows用户可以在命令行窗口中使用各种…
Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的是CTeX 中文套装的简称.CTeX中文套装是基于 Windows 下的 MiKTeX系统,集成了编辑器 WinEdt及其他的处理软件,并增加了对中文的完整支持. BibTeX是一种格式和一个程序, 用于协调LaTeX的参考文献处理.BibTeX 使用数据库的的方式来管理参考文献,其文献数据库文件的…
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人员而言,在Win32 OpenSSL上下载已经编译好的OpenSSL库是省力省事的好办法.对于高级的开发用户,可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题.下面主要讲述如何在Windows上编译OpenSSL库. 步骤 在微软网站下载并安装Visual Studio,我用…
Windows 下安装 MongoDB 的步骤:1.官网www.mongodb.com下载安装包或zip包2.解压下载的文件到文件夹 D:\mongo .3.使用管理员权限打开CMD,导航到目录 D:\mongo\bin4.执行下面的命令(运行命令前创建目录 D:\mongo\data\db 和 D:\mongo\log) mongod --logpath "D:\mongo\log\log.log" --logappend --dbpath "D:\mongo\data\d…
今天看到nginx这个小服务器软件正式版更新到了1.4.2,想玩下它.这个服务器软件虽小,但功能强大,是开源软件,有着良好的性能,被很多个人.企业,甚至大型企业所使用! 由于是在Windows下,所以只能双击运行,然后通过以下命令来管理:  Nginx/Win32是运行在一个控制台程序,而非windows服务方式的.服务器方式目前还是开发尝试中,Nginx/Win32可以使用以下开关来管理它: Nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务.(快速退出)…
2016年11月19日 14:40:16 星期六 官网下载 nginx, php windows下的源码包(windows下不用安装, 解压即可) 修改配置文件, (稍后补上) 路径如下: 启动脚本: nginx_start.bat @echo off set currentDir=%cd% cd %currentDir% cd nginx echo Starting Nginx... nginx.exe -c ./conf/nginx.conf php_start.bat @echo off…
 Nginx + Tomcat Windows下的负载均衡配置 一.为什么需要对Tomcat服务器做负载均衡?    Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果超过500的并发数会出现Tomcat不能响应新的请求的情况,严重影响网站的运行.同时如果访问量非常大的情况下,Tomcat的线程数会不断增加.因此会占据大量内存,严重时出现内存溢出的现象,这时需要重启Tomcat以释放内存,阻断了网站的运行.    所以对Tomcat做负载均衡便很有必要.目前可以和Tomc…
目前国内各大门户网站已经部署了Nginx,如新浪.网易.腾讯等:国内几个重要的视频分享网站也部署了Nginx,如六房间.酷6等.新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx. 相比apeach.iis,nginx以轻量级.高性能.稳定.配置简单.资源占用少等优势广受欢迎. 1)下载地址: http://nginx.org 2)启动 解压至c:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹C:\…
libsvm中有进行参数调优的工具grid.py和easy.py可以使用,这些工具可以帮助我们选择更好的参数,减少自己参数选优带来的烦扰. 所需工具:libsvm.gnuplot 本机环境:Windows7(64 bit) ,Python3.5 1.相关程序的下载和安装: 1.1.下载libsvm,我用的是libsvm-3.18.zip,下载后直接解压到任意位置,我解压到C:\libsvm-3.18下. 1.2.下载python,我下的是python-3.5.msi,双击该文件安装到默认位置,我…
转:http://www.cnblogs.com/wu-wenmin/p/4250330.html 写在前面的话 最近在看"Computer Vision with Python"需要安装PIL库,平时一直在windows下开发,就去"Python Extensions for Windows"下找找看,结果下下来文件的拓展名是.whl.Google了一番才知道安装这种拓展名的包需要pip.平时习惯用.exe安装包,easy_install.pip都没装.扒拉点资料…
基本上C语言的可变参数原理在不同平台和不同编译器下基本类似(通过函数入栈,从右向左,从高位到低位地址),不过部分实现会有所不同:在使用中需要注意的是: va_list 为char 类型指针,部分调用如vnsprintf.vsprintf(内部通过遍历获取va_arg各个参数值)等会修改其指针位置:在windows下通过一个副本va_list实现va_arg操作,而在linux下不会产生副本va_list,而是直接修改原va_list的指针对象: 在编写程序的时候,当调用了类似vnsprintf的…
一:安装wamp Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台. 常见的WAMP集成环境 WAMP是指在Windows服务器上使用Apache.MySQL和PHP的集成安装环境,可以快速安装配置Web服务器,一般说来,大家都习惯 于将Apache.MySQL.PHP架设在Linux系统下,但是,…
最近需要在GitBook中去阅读电子书 安装nodejs cnpm安装gitbook 解压书籍文件,并cd到书籍文件目录 gitbook serve 浏览器访问localhost:4000 先在windows 下安装nodejs 官网:https://nodejs.org/en/ 下载后直接安装即可 然后通过cmd调出DOS命令窗口测试下是否安装完成 输入命令:node 输入:console.log("Hello,World!");测试一下 在D盘下建立一个app文件夹,app文件夹里…