纯编程
文章平均质量分 74
雷霄骅
这个作者很懒,什么都没留下…
展开
-
PHP入门教程
十天学会PHP 下面简单介绍一下PHP的语法。 1、嵌入方法: 类似ASP的,PHP可以是或者是,结束符号是?>,当然您也可以自己指定。 2、引用文件: 引用文件的方法有两种:require及 include。 require 的使用方法如require("MyRequireFile.php");。这个函数通常放在 PHP转载 2013-10-02 15:08:45 · 6732 阅读 · 1 评论 -
使用批处理脚本(BAT)调用FFMPEG批量编码视频
使用批处理脚本(BAT)编码视频非常方便,尤其当视频序列非常多的时候,更是省了不少简单重复性劳动。只要学会批处理里面几个基本的命令就行了,感觉和c/c++差不多。set:设置变量(注意:变量一般情况下是字符串,而不是整形或者其他类型)%变量名%:可以取到变量的值传上来一个做实验的批处理脚本做示范(其中调用了ffmpeg和x264): @echo off@rem 使用此...2013-09-25 22:02:00 · 1282 阅读 · 0 评论 -
PHP入门教程
十天学会PHP 下面简单介绍一下PHP的语法。 1、嵌入方法:类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定。 2、引用文件:引用文件的方法有两种:require及 include。 require 的使用方法如require("MyRequireFile.php");。这个函数通常放在 PHP程序的最...2013-10-02 15:08:00 · 274 阅读 · 1 评论 -
matlab中 mcc/mbuild/mex 区别
mcc的作用是将.m文件编译为c/c++动态链接库文件,使你可以在c/c++程序中使用matlab的一些函数功能。mcc 也可以将.m文件编译为exe可执行文件。 mex的作用是将c/cpp文件编译为.m 文件可以调用的库文件,在Windows操作系统里通常是以mexw32或mexw64为扩展名,让你可以使用c/c++来扩展matlab,即在matlab中调用C/C++编写函数的功...2014-08-03 21:44:00 · 1347 阅读 · 0 评论 -
matlab中 mcc、mbuild和mex命令详解
先简单的说说mcc、mbuild和mex到底怎么回事:mcc将M文件转换成C/C++文件和相应的MEX包裹文件(需要Matlab编辑器),但在特定条件下可以自动调用mbuild或者mexmex将C/C++文件(入口函数为mexfunction())编译成MEX(DLL)文件(需要C/C++编辑器)mbuild将C/C++文件(入口函数为main())生成可独立运行的C应用程序(需要C...2014-08-03 23:25:00 · 2265 阅读 · 0 评论 -
使用WinPcap编程
创建一个使用 wpcap.dll 的应用程序用 Microsoft Visual C++ 创建一个使用 wpcap.dll 的应用程序,需要按一下步骤:在每一个使用了库的源程序中,将 pcap.h 头文件包含(include)进来。如果你在程序中使用了WinPcap中提供给Win32平台的特有的函数, 记得在预处理中加入WPCAP 的定义。如果你的程序使用了WinPcap的远程...2013-10-06 19:47:00 · 363 阅读 · 0 评论 -
TinyXML:一个优秀的C++ XML解析器
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对...2013-10-08 23:42:00 · 260 阅读 · 0 评论 -
COM编程入门
本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念。内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件。本文不包括如何编写自己的COM对象和接口。 COM即组件对象模型,是Component Object Model 取前三个字母的缩写,这三个字母在当今Windows的世界中随处可见。随时涌现出来的大把大把的新技术都以COM为基础。各种文档中也...2013-10-09 13:32:00 · 351 阅读 · 0 评论 -
MYSQL常用命令
1.导出整个数据库 mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1) mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldum...2013-10-10 00:13:00 · 254 阅读 · 0 评论 -
getopt与getopt_long
很多命令行程序中都有这两个文件:getopt.c与getopt_long.c。它们的作用是可以方便的获取命令行的参数。在此转一篇文章,讲述它们的作用。 一、getopt getopt被用来解析命令行选项参数。#include <unistd.h> extern char *optarg; //选项的参数指针,存放选项对应的输入参数 ext...2013-10-11 16:20:00 · 199 阅读 · 0 评论 -
JAVA编写的使用Socket模拟Http的GET操作
JAVA编写的使用Socket模拟Http的GET操作,看后就很容易理解Web浏览器的原理了。 import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.Socke...2013-09-24 15:53:00 · 324 阅读 · 0 评论 -
JAVA编写的一个简单的Socket实现的HTTP响应服务器
JAVA编写的一个简单的Socket实现的HTTP响应服务器,看后就很容易理解Web服务器的原理了。 package test.io;import java.net.*;import java.io.*;/** * 一个简单的Socket实现的HTTP响应服务器。<br> * 只用于熟悉HTTP协议的目的,可以看到浏览器发过来的数据格式。 * ...2013-09-24 15:45:00 · 324 阅读 · 0 评论 -
LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR的区分与转化
首先在编译程序时经常会遇到这种问题:错误 1 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [3]”转换为“LPCTSTR”1、觉得很烦,一般的做法就是不管三七二十一,在字符串前面加一个‘L’:如调用函数FUN(LPCTSTR str)时,不能 FUN("HELLO"); 而是FUN(L"HELLO");通常这样做都比较能解...2014-07-11 12:20:00 · 444 阅读 · 0 评论 -
从一个MFC工程移植对话框类到另一个MFC工程
今天碰到模块移植问题了,自己做的对话框类(继承于CDialog)要移植到目标工程中.在网上搜了几个帖子发现都说的很生涩.问了我们的技术总监之后总算解决这个问题了.问题:把一个MFC SDI工程中的一个对话框资源和类拷贝到另一个MFC SDI中.1.在VC6中打开老的工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件(就是双击后会出现编辑窗口界面的那个东西),按...2013-09-22 01:17:00 · 278 阅读 · 0 评论 -
Matlab的曲线拟合工具箱CFtool使用简介
Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。下面结合我使用的Matlab R2011b 来简单介绍如何使用这个工具箱。假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0 。1、在命令行输入数据: x=[110.3323148.7328178.064202.8258033224.710524...2013-09-22 14:57:00 · 908 阅读 · 0 评论 -
C++调用CMD,等CMD运行完后继续运行C++
在这里记录一个小技巧,可以在程序运行的时候调用CMD命令。然后等待CMD命令执行完的时候,继续运行程序。这在做视频编码实验的时候非常好用,因为像HEVC的tappencoder这种编码速度超级慢的程序,比较适合提前设置好参数,然后用这种方法让C++自动调用CMD编码一个一个的序列。我们就可以回去睡大觉了~~ CString paramstr;STARTUPINFO si={siz...2013-09-23 21:24:00 · 512 阅读 · 0 评论 -
C++查找一个目录下所有特定扩展名的文件
记录一个小技巧,查找一个目录下所有特定扩展名的的文件名。代码所示是查找所有后缀为“.txt”的文件名,并将结果存储于名为statfileurllist的vector中注:也可以查找子目录 //存储文件名列表vector<CString> statfileurllist;//查找TXT文件WIN32_FIND_DATAA wfd;CString sPath ...2013-09-23 21:41:00 · 1012 阅读 · 0 评论 -
C++从文件中查找特定的字符串,并提取该字符串
记录一个小技巧,使用C++从文件中查找特定标记的字符串,并提取该字符串。用到了CString的方法,十分的简单,用于数据分析很方便。这是我截取的压缩编码试验程序中的代码,通过这段代码可以提取X264输出的SSIM值 FILE *fp_statfile=fopen("x264_output.txt","rb");CString filecontent("");//文件内容读...2013-09-23 21:52:00 · 2076 阅读 · 0 评论 -
SDL介绍
SDL库的作用说白了就是封装了复杂的视音频底层操作,简化了视音频处理的难度。以下转自WiKi: SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于...2013-09-23 23:37:00 · 623 阅读 · 0 评论 -
STL的Deque介绍
Deque是双端队列,在画动态图表的时候使用起来比较方便。因为当数据填满图表后,需要从队列的后方插入一个元素,然后再从队列的前方删除一个元素。使用Deque可以很方便的做到。使用push(pop)-back(front)就ok了下面摘录了一个Deque的使用教程 /*deque: 是一个double-ended queue, 1)支持随即存取,也就是[]操作符, ...2013-09-24 12:23:00 · 233 阅读 · 0 评论 -
STL的Vector介绍
Vector在使用的时候比数组要方便得多,自从学会使用后,我基本上使用Vector代替了数组,编程效率提高了很多。在此进行简单的介绍。vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和 string 对象一样,标准库将负责管理与存储元素相关的内存。我们把 vector称为容器,是因为它可以包含其他对象。一个容器中的所有对象都必须是同一种类型的。 vector 是...2013-09-24 12:30:00 · 271 阅读 · 0 评论 -
设置ListCtrl列表控件其中某一行的字体和背景颜色
设置ListCtrl列表控件其中某一行的字体和背景颜色,可以最终达到如下效果:操作步骤如下所示:1.先添加一个自定义消息ON_NOTIFY ( NM_CUSTOMDRAW,IDC_V_H264_NALLIST, OnCustomdrawMyList ) 注:在BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()之间。第二个参数是LIstCtrl...2013-10-11 16:50:00 · 404 阅读 · 0 评论 -
MFC窗口支持文件拖入
修改对话框属性为Accept Files 或者在初始化时直接通过函数DragAcceptFiles()使得窗口支持文件拖曳 然后,增加对话框窗口的WM_DROPFILES消息响应函数 单个文件:OnDropFiles(HDROP hDropInfo){ char * pFilePath = new char[256]; ::DragQueryFile(hDropInfo, 0, ...2013-10-11 16:56:00 · 307 阅读 · 0 评论 -
VirtualBox中的虚拟网络环境设置
网络连接其实是面向网卡的,当一台电脑拥有多块网卡,并且每块网卡连接了不同的网络就能理解了。默认情况下,VirtualBox为虚拟网卡提供了四种网络环境:Network AddressTranslation(NAT)、Bridged networking、Internal networking和Host-only networking。现在分别介绍四种网络环境下虚拟机网卡的信息。 (一...2013-10-12 19:52:00 · 216 阅读 · 0 评论 -
预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)...
当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled header file is from a previous version of the compiler, or the ...2013-10-16 15:39:00 · 1229 阅读 · 0 评论 -
C89 和 C99 标准比较
注1: GCC支持C99, 通过 --std=c99 命令行参数开启,如:代码: gcc --std=c99 test.c 注2:FFMPEG使用的是C99。而VC支持的是C89(不支持C99)。因此VC一般情况下是无法编译FFMPEG的源代码的。 -------------------------------------------------------------------...2013-10-16 16:34:00 · 251 阅读 · 0 评论 -
MFC的图片按钮
利用CBitmapButton类实现位图按钮的两种方法 利用CBitmapButton类实现位图按钮的两种方法: 方法一: 1、在资源编辑的时候选中按钮的 Owner draw 属性,不需要选择 Bitmap 属性. 按钮右键-->Styles-->Owner draw 2、在程序中定义一个CBitmapButton成员变量。 注意:不能使用ClassWizard为按钮映射一个CBu...2013-10-16 19:31:00 · 280 阅读 · 0 评论 -
MFC选项卡的实现
方案一 在对话框上放置一个Tab Control的控件,再在对话框上放置所需的控件(本例放置了2个按钮,试图在每个标签中显示一个)。然后利用Class Wizard来为Tab Control控件创建一个控件变量,该变量是CTabCtrl类的,再为其他控件也创建相应的控件类。 在主对话框的初始函数中CProperty1Dlg::On<wbr>InitDialog()加入如下代码...2013-10-16 22:49:00 · 293 阅读 · 0 评论 -
Linux 开发中的常用命令 ( Cygwin 环境也同样适用)
ls #以默认方式显示当前目录文件列表 ls –a #显示所有文件包括隐藏文件 ls –l #显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行 ls –color=never *.so > obj #不显示文字颜色,将所有so文件记录到obj文件中———————————————————————-cd dir #切换到当前目录下的dir目录 cd .. #切换到到上一级...2013-10-19 14:30:00 · 272 阅读 · 0 评论 -
Eclipse中和编辑相关的快捷键
1. 【ALT+/】 此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷 键带来的好处吧。2. 【Ctrl+O】 显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时非常有 用。3. 【Ctrl+/】 快速添加注释,能为光标所在行或所选定行快速添加注释或取消注释,在调试的时候可能总...2013-10-19 14:37:00 · 224 阅读 · 0 评论 -
Linux configure 参数解释
Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。 与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手...2013-10-19 17:01:00 · 272 阅读 · 0 评论 -
使用 JNA 模拟C语言结构体的完整源代码
C语言源代码:头文件#define MYLIBAPI extern "C" __declspec( dllexport ) MYLIBAPI void say(wchar_t* pValue); struct UserStruct{ long id; wchar_t* name; int age;};MYLIBAPI...2013-10-20 19:11:00 · 269 阅读 · 0 评论 -
百度MP3音乐API接口及应用
当你在百度去搜索一首歌时,你会发现有种更简单的方法,嘿嘿,告诉你个秘密,百度有个不公开的APIhttp://box.zhangmen.baidu.com/x?op=12&count=1&title=大约在冬季$$齐秦$$$$用上面的地址,红色部分改成歌名与作者名,然后百度就会给你一个XML: <?xml version="1.0" encoding="gb231...2013-10-22 00:56:00 · 282 阅读 · 0 评论 -
MFC的多国语言界面的实现
目前很多软件都是要出口到多个国家,因此,为软件提供多国语言支持就成为了一个基本条件。为软件提供多国语言的支持的具体实现方法有很多,但基本原理都差不多,就是实现代码和语言包的独立,代码根据设定的语言选择语言包。其中,MFC的资源文件就提供了对多国不同语言的支持功能,如果使用MFC开发,直接用资源文件自带的多国语言支持,可以省去不少的麻烦。下面就介绍给MFC程序添加中英文的支持,开发环境为V...2013-10-15 21:25:00 · 370 阅读 · 0 评论 -
MFC 中 Radio Button 使用方法
先为对话框加上2个radio button,分别是Radio1和Radio2。问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在OnInitDialog()即可。三种方法可以让它选上, 第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton ...2013-10-15 20:28:00 · 183 阅读 · 0 评论 -
C++下的DLL编程入门
一、 编写第一个入门级dll文件 1. 新建一个dlltest的dll工程,加入一源文件dlltest.cpp,包含add和subtract两个函数如下: _declspec(dllexport) int add(int a,int b){ return a+b;}_declspec(dllexport) int subtract(int a...2013-10-12 19:57:00 · 280 阅读 · 0 评论 -
MFC窗口最小化到托盘
把程序放到托盘上的本质就是先在托盘区绘制一个图标,然后把程序隐藏不见,再对托盘的图标进行消息处理,就可以了。绘制图标以及确定图标所传送消息的函数只有一个,那就是 WINSHELLAPI BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA pnid ); 这个函数负责向系统传递消息,以添加、修改或删除托盘区的图标。它的返回值...2013-10-13 16:29:00 · 201 阅读 · 0 评论 -
字节序(Endian),大端(Big-Endian),小端(Little-Endian)
在各种计算机体系结构中,对于字节、字等的存储机制有所不同,因而引发了计算机通信领域中一个很重要的问题,即通信双方交流的信息单元(比特、字节、字、双字等等)应该以什么样的顺序进行传送。如果不达成一致的规则,通信双方将无法进行正确的编/译码从而导致通信失败。目前在各种体系的计算机中通常采用的字节存储机制主要有两种:big-edian和little-endian。 字节顺序 Endi...2013-10-13 17:56:00 · 644 阅读 · 0 评论 -
C语言堆栈入门 —— 堆和栈的区别
在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐...2013-10-15 00:01:00 · 332 阅读 · 0 评论 -
一些VC的快捷键以及调试技巧
1.检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}、方括号[]、圆括号()和尖括号<>)前面,键入快捷键“Ctrl+]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告声。 2.查看一个宏(或变量、函数)的宏定义 把光标移动到你想知道的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右...2013-10-15 12:10:00 · 193 阅读 · 0 评论