VC中有一个计算数组元素个数的MACRO template <typename T, size_t size>char (*__countof_helper(T(&t)[size]))[size]; define _countof(_Array) sizeof(*__countof_helper(_Array)) 解读如下: 比如传进去int a[10]的a,那么编译器如下推演: typedef char (*CP)[10];CP my__countof_helper(int t[10]); 这样写的目的我目前的理解是单纯为了避免传入指针影响逻辑。
Category: Uncategorized
VS快捷键和VMWare插件的快捷键冲突问题
装了VMWare以后可以选择性的安装VS的插件。如果也安装了VMWare的插件,那么以后可能会有某些VMWare插件引起的问题会影响到VS的稳定性。即时没有什么大的影响,当你选择VS的快捷键方案为Visual c# 2005时,VMWare的默认快捷键设定还会影响到VS的快捷键。而且这个好像设置了也没有用。比如我平时习惯将VS的快捷键方案设置成Visual C# 2005 后,按Shift+F6就是Build当前选择的项目,但是这个快捷键恰恰被VMWare已经用掉了,而且我重新设置过了,但是下次启动VS的时候又会被VMWare抢掉。所以禁用了VMWare在VS中的插件。 方法如下: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\AddIns\VMDebugger.Connect 在这个注册表目录下,修改LoadBehaviour的属性为0,默认是3.这样就好了。 64位系统目录有些变动。找相应的就可以了。
101个Google技巧——Google技巧的终极收集
更加全面地用Google搜索的最好方式是点击高级搜索。 它可以让你搜索更加精准的词组,“所有词组”或者是适当的搜索框里输入词组的某一个特定关键词。 在高级搜索里你依然可以自定义在一张页面上展示多少个搜索结果,你所寻找的信息语言和文件格式。 “搜索以下网站或网域”可以让你通过输入一个顶级域名(如.co.uk)来限定搜索结果。 你也可以点击“日期、使用权限、数字范围和更多”的链接以获取更高级的功能。(Google中文直接分条在页面展示。) 保存设置,这些高级功能大多也可以在Google首页的搜索框中通过命令行参数来实现 Google的主要搜索可以无形地用布尔结构“AND”来结合。你当输入smoke fire – 它表示寻找smoke AND fire. 要让Google搜索Smoke 或者fire,只需要输入smoke OR fire. 你也可以用 | 来代替OR。如:smoke | fire. 像AND 和 OR 这样的布尔结构对大小写非常敏感。他们必须是全部大写。 搜索专有名词,然后输入用括号括住的一个或者几个关键词。比如water (smoke OR fire) 寻找短语,可以把它们放在引号里。比如:”there’s no smoke without fire”。 同义搜索来寻找那些类似的信息,只须在你的关键词臆加一根波浪线,比如:~eggplant. 用减号来排除关键词,如:new pram -ebay 可以让搜索结果排除来自Ebay的婴儿车信息。 像 I, and, then ,if 这类普通词语是要被Google 忽略的。他们被称作停滞词语。 而加号却可以让这些停滞词语给包含进来,比如:fish +and chips. 如果一个停滞词语被包含在那些作为短语的引用标记中间的句子中时,这些词语是被Google允许的。 你也可以要求Google进行简省搜索,试一下:Christopher Columbus discovered * 用数字范围功能来搜索数字范围。例如:搜索价位在300英到500英磅之间的索尼电视可以用以下字串:Sony… Continue reading 101个Google技巧——Google技巧的终极收集
Linux Mysql服务器安装配置
直接安装Redhat Enterprise 5系统自带的MySQL rpm即可(版本:5.0.22) service mysqld start //__开启MySQL服务 安装完后MySQL的默认密码为空,直接运行客户端程序#mysql 然后你可以看到屏幕显示出以下信息:Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 362Server version: 5.0.45-community MySQL Community Edition (GPL) Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer. 修改用户密码#mysqladmin -u root password ‘newpassword’ //本机登陆#mysql -u root -p#password ******* 添加远程访问权限进入MySQL命令行mysql>GRANT ALL… Continue reading Linux Mysql服务器安装配置
libavformat/libavcodec学习
为什么需要两个库文件 libavformat 和 libavcodec :许多视频文件格式(AVI就是一个最好的例子)实际上并没有明确指出应该使用哪种编码来解析音频和视频数据;它们只是定义了音频流和视频流(或者,有可能是多个音频视频流)如何被绑定在一个文件里面。这就是为什么有时候,当你打开了一个AVI文件时,你只能听到声音,却不能看到图象--因为你的系统没有安装合适的视频解码器。所以, libavformat 用来处理解析视频文件并将包含在其中的流分离出来, 而libavcodec 则处理原始音频和视频流的解码。 打开视频文件:首先第一件事情--让我们来看看怎样打开一个视频文件并从中得到流。我们要做的第一件事情就是初始化libavformat/libavcodec: av_register_all();这一步注册库中含有的所有可用的文件格式和编码器,这样当打开一个文件时,它们才能够自动选择相应的文件格式和编码器。要注意你只需调用一次av_register_all(),所以,尽可能的在你的初始代码中使用它。如果你愿意,你可以仅仅注册个人的文件格式和编码,不过,通常你不得不这么做却没有什么原因。 下一步,打开文件:AVFormatContext *pFormatCtx;const char *filename=”myvideo.mpg
Linux console color
\033[22;30m – black \033[22;31m – red \033[22;32m – green \033[22;33m – brown \033[22;34m – blue \033[22;35m – magenta \033[22;36m – cyan \033[22;37m – gray \033[01;30m – dark gray \033[01;31m – light red \033[01;32m – light green \033[01;33m – yellow \033[01;34m – light blue \033[01;35m – light magenta \033[01;36m – light cyan \033[01;37m – white
Microsoft Windows SharePoint Services 的 10 大优点
对于寻求通过保持人员和团队处于连接状态,并让他们轻松访问公司 IT 网络内外的信息,从而提高工作效率的组织,Windows SharePoint Services 技术是一种经济而高效的选择。Windows SharePoint Services 技术可以提供丰富的协作工具,以及用于构建基于 Web 的高可扩展应用程序的功能全面的基础,提高业务过程的效率。Windows SharePoint Services 建立在 Microsoft Windows Server 2003 基础之上,可以提供一个具有强大管理控制能力的稳健而可扩展的基础。Windows SharePoint Services 具有基于 Web 的熟悉界面,并与包括 Microsoft Office 系统工作效率程序在内的日常工具紧密集成,易于使用,可以快速部署。下文是 Windows SharePoint Services 为贵组织效力的 10 大途径。 通过易于使用的协作工具提高团队工作效率。 使用 Windows SharePoint Services,您可以将人员与他们需要的信息及资源联系起来。您与同事可以创建团队工作区,协调日历,组织文档,并通过包括声明与警报在内的通信功能接收重要通知与更新。用于创建博客和 Wikis 的新模板可以帮助您轻松保持联系。处于移动情况下,您和同事可以利用方便的脱机同步功能。 轻松管理文档并确保内容真实性。 Windows SharePoint Services 具有增强文档管理功能,包括在编辑前激活必需的文档签出的选项、查看对文档的修订并还原到以前版本的能力和设置文档级和项级安全性的能力,可以帮助您确保存储在团队站点上的文档的真实性。 让用户快速提速。 Windows SharePoint Services 3.0 中的用户界面改进包括可以简化 SharePoint 站点内和之间的导航的改进视图与菜单。与包括 Microsoft… Continue reading Microsoft Windows SharePoint Services 的 10 大优点
道路交通违法行为记分标准
一、机动车驾驶人有下列违法行为之一,一次记12分:(共7条) 1、醉酒后驾驶机动车的; 2、机动车驾驶证被暂扣期间驾驶机动车的; 3、造成交通事故后逃逸的,尚不构成犯罪的; 4、违反交通管制的规定强行通行,不听劝阻的; 5、使用他人机动车驾驶证驾驶机动车的; 6、驾驶与准驾车型不符的机动车的; 7、超过三个月不缴纳罚款或者连续两次逾期不缴纳罚款的。 二、机动车驾驶人有下列违法行为之一,一次记6分:(共7条) 1、 饮酒后驾驶机动车的; 2、机动车行驶超过规定时速50%的; 3、公路营运客车载人超过核定人数20%以上或者违反规定载货的; 4、货车载物超过核定载质量30%以上或者违反规定载客的; 5、在高速公路上不按规定停车的; 6、在高速公路上试车和学习驾驶机动车的; 7、在高速公路上倒车、逆行、穿越中央分隔带掉头的; 三、机动车驾驶人有下列违法行为之一,一次记3分:(共16条) 1、违反道路交通信号灯的; 2、在高速公路上驾车低于规定最低车速的; 3、在高速公路上违反规定拖拽故障车、肇事车的; 4、在高速公路上货运机动车车厢、二轮摩托车载人的; 5、在高速公路上骑、轧车行道分界线行驶的; 6、低能见度气象条件下在高速公路上不按规定行驶的; 7、驾驶禁止驶入高速公路的机动车驶入高速公路的; 8、不按规定超车的; 9、不按规定让行的; 10、机动车违反规定牵引挂车的; 11、在道路上车辆发生故障、事故停车后,不按规定使用灯光和设置警告标志的; 12、机动车行驶超过规定时速50%以下的; 13、驾驶机动车下陡坡时熄火或空挡滑行的; 14、上道路行驶的机动车未悬挂机动车号牌的; 15、故意遮挡、污损、不按规定安装机动车号牌的; 16、逆向行驶的。 四、机动车驾驶人有下列违法行为之一,一次记2分:(共13条) 1、连续驾驶机动车超过4小时未停车休息或者停车休息时间少于20分钟的; 2、在高速公路匝道、加速车道或者减速车道上超车的; 3、违反禁令标志、警告标志、禁止标线、警告标线指示的; 4、客车载人超过核定人数未达20%的; 5、货车载物超过核定质量未达30%的; 6、行经交叉路口不按规定行车或者停车的; 7、有拨打、接听手持电话、观看电视等妨碍安全驾驶的行为的; 8、在同车道行驶中,不按规定与前车保持必要的安全距离的; 9、行经人行横道,不按规定减速、停车、避让行人的; 10、在没有划分中心线和机动车道与非机动车道的道路上,不按规定行驶的; 11、在实习期内驾驶公共汽车、营运客车或者执行任务的警车、消防车、救护车、工程救险车以及载有爆炸物品、易燃易爆化学物品、剧毒或者放射性等危险物品的机动车,驾驶的机动车牵引挂车的; 12、不按规定牵引故障机动车的; 13、驾驶和乘坐二轮摩托车,不戴安全头盔的。 五、机动车驾驶人有下列违法行为之一,一次记1分:(共8条) 1、不按规定使用灯光的; 2、不按规定会车的; 3、不按规定倒车的; 4、机动车行驶时,机动车驾驶人、乘坐人员未按规定系安全带的; 5、摩托车后座乘坐未满12周岁的未成年人,轻便摩托车载人的; 6、驾驶机动车没有关好车门、车厢的; 7、其他违反机动车载物规定的;… Continue reading 道路交通违法行为记分标准
使用Parted来进行分区
# parted /dev/sdbGNU Parted 1.8.1Using /dev/sdbWelcome to GNU Parted! Type ‘help’ to view a list of commands. (parted) mklable gpt 将MBR磁盘格式化为GPT (parted) mkpart primary 0 100 划分一个起始位置为0大小为100M的主分区 (parted) mkpart primary 100 200 划分一个起始位置为100M大小为100M的主分区 (parted) mkpart primary 0 -1 划分所有空间到一个分区 (parted) print 打印当前分区 (parted) quit 可能还会用到的一些命令 (parted) mklable msdos 如果要反过来.将GPT磁盘转化为MBR磁盘 在这样分完分区后,还要使用mkfs.ext3来进行格式化#partprobe#mkfs.ext3 -F /dev/sdb1 记的哦,因为fdisk是不支持GPT磁盘,所以使用fdisk -l来查看X磁盘刚才的分区是没有用的. 命令行的模式:… Continue reading 使用Parted来进行分区
一块网卡绑定多个IP地址(内含Redhat和Ubuntu)
Redhat版本 在Linux下有时候需要给一个网卡绑定多个IP,本文介绍在Redhat系列(redhat,Fedora Core,Centos)中的实现方法和一种在Gentoo等其他Linux中普遍适用的方法。 1、单网卡绑定多IP在Redhat系列中的实现方法 假设需要绑定多IP的网卡是eth0,请在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件, 内容样例为: DEVICE=”eth0:0″ IPADDR=”192.168.0.2″ BROADCAST=”172.168.0.255″ NETMASK=”255.255.255.0″ ONBOOT=”yes” 其中的DEVICE为设备的名称, IPADDR为此设备的IP地址, BROADCAST是广播地址, NETMASK为子网掩码, ONBOOT 表示在系统启动时自动启动。 如果需要再绑定多一个IP地址, 只需要把文件名和文件内的DEVICE中的eth0:x加一即可。 LINUX最多可以支持255个IP别名 2、普遍适用的单网卡绑定多IP实现方法 ifconfig eth0:1 192.168.0.3 broadcast 192.168.0.255 netmask 255.255.255.0 可以把上述命令加在启动自运行文件里面,在Gentoo下是/etc/conf.d/local.start,而某些版本的Linux是/etc/rc.d/rc.local。 3、多网卡共用单IP的实现方法 使用多块网卡虚拟成为一块网卡,具有相同的IP地址。这项技术其实在sun和cisco中已经存在,分别称为Trunking和 etherchannel技术,在linux中,这种技术称为bonding。因为bonding在内核2.4.x中已经包含了,只需要在编译的时候把网 络设备选项中的 Bonding driver support选中就可以了。 然后,重新编译核心,重新起动计算机,执行如下命令: ismod bonding ifconfig eth0 down ifconfig eth1 down ifconfig bond0 ipaddress ifenslave bond0 eth0 ifenslave bond0 eth1 现在两块网卡已经象一块一样工作了,这样可以提高集群节点间的数据传输。 你最好把这几句写成一个脚本,再由/etc/rc.d/rc.local或者/etc/conf.d/local.start调用,以便一开机就生效。 bonding对于服务器来是个比较好的选择,在没有千兆网卡时,用两三块100兆网卡作 bonding,可大大提高服务器到交换机之间的带宽。但是需要在交换机上设置连接bonding 网卡的两个口子映射为同一个虚拟接口。 Ubuntu版本 常常我们有需要一个网卡象windows一样设置多个IP。 下面我们看看在ubuntu下怎么样做. 我们先打开网络接口的文件 sudo gedit /etc/network/interfaces 照上边eth0添加eth0:0 auto eth0iface eth0 inet staticname Ethernet Lan cardaddress 192.168.1.1netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255gateway 192.168.1.1 auto eth0:0iface eth0:0 inet staticname Ethernet… Continue reading 一块网卡绑定多个IP地址(内含Redhat和Ubuntu)