- 博客(54)
- 资源 (1)
- 收藏
- 关注
原创 Unix select()的使用
转载:http://fanqiang.chinaunix.net/a4/b7/20010913/0900001283.html,部分不明白的地方做了补充用过 WinSock API 网友们知道:WinSock 编程中有一很方便的地方便是其消息驱动机制,不管是底层API 的 W
2011-08-18 10:57:40 1099
原创 GCC最基本的用法
在使用GCC编译器的时候,我们必须给出一系列必要的调用参数和文件名称。GCC编译器的调用参数大约有100多个,其中多数参数我们可能根本就用不到,这里只介绍其中最基本、最常用的参数。 下面是man gcc的结果:gcc [-c|-S|-E] [-std=standard] [-g] [-pg] [-Olevel] [-Wwarn...]
2011-08-18 08:42:46 554
原创 UINT, WPARAM, LPARAM
这三种类型一般都在定义消息类型的时候用到。传递消息用到的函数:SendMessage()/PostMessage()两个函数都用来给窗口传递消息,区别在于:SendMessage()会阻塞,直到窗口处理完成才返回;而PostMessage()只把消息发送到窗口对应
2011-08-17 16:56:24 677
原创 关于 winsock2.h(2310) : error C2375: redefinition; different linkage
出现情形:同样是控制台项目文件添加到MFC项目中出现的问题。由于项目中会涉及到socket编程,所以在创建MFC可执行文件时,选中了“Windows Socket的支持选项”。因此,VC6.0 会自动在stdafx.h 中增加:#include // MFC so
2011-08-17 15:21:41 114
原创 socket编程,从控制台转到MFC下碰到的几个问题
在使用VC6.0做东西时,产生几个典型的错误,特列如下,以备后查。错误1:fatal error C1010:unexpected end of file while looking for precompiled header问题很奇怪,在控制台项目下编译时,完全正确,
2011-08-17 13:24:30 956
原创 在非MFC模式下,不支持MFC情况下,创建窗口类应用程序
在windows网络通信一书中看到的例子,特意摘下来。原理还不是太明白...几点基本的说明: 1. 窗口类应用程序的入口函数为:WinMain()函数。格式为:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCEhPr
2011-08-16 20:54:14 211
原创 关于指针的疑惑
指针具有方便性,可以实现程序的高效执行,但是有一些疑惑。有时候弄明白了,但是总忘,所以记录下来,以备查看。有些不足的地方,以后想起来再进行补充。凡是用到指针的地方,画个图出来!(经验总结)1. 指针之间“=”赋值用“=”赋值时,两个指针指向同一块地址空间。因此,下面的程序执行会提示出错,因为地址空间被释放了,即所谓的野指针。int main(){ char * p
2011-08-16 14:51:22 691
原创 类成员函数创建线程
参考:http://blog.csdn.net/braveyly/article/details/3446472对于”在类里面的成员函数创建线程怎么搞“都有两三个月的疑问了,一直没想到什么好的方法。对于创建线程的调用函数归属问题不太清楚,也没什么时间做个实验。下面的实
2011-08-13 11:42:32 2384
转载 Linux下的多线程编程
转载:http://fanqiang.chinaunix.net/a4/b8/20010811/0905001105.html(有修改)1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现
2011-08-12 21:13:37 543
转载 Linux环境进程间通信之信号机制(二)
一、信号生命周期从信号发送到信号处理函数的执行完毕对于一个完整的信号生命周期(从信号发送到相应的处理函数执行完毕)来说,可以分为三个重要的阶段,这三个阶段由四个重要事件来刻画:信号诞生;信号在进程中注册完毕;信号在进程中的注销完毕;信号处理函数执行完毕。相邻两个事件的时间间隔构成信号生命周期的一个阶段。下面阐述四个事件的实际意义:1. 信号"诞生"。信号的诞生指的是触发信号
2011-08-12 17:04:14 459
转载 Linux环境进程间通信之信号机制(一)
转载:IBM linux文档库 中关于信号的介绍:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html一、信号及信号来源信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,
2011-08-12 16:31:10 606
转载 Linux下定时的实现
转载自:http://www.cnblogs.com/feisky/archive/2010/03/20/1690561.html使用定时器的目的无非是为了周期性的执行某一任务,或者是到了一个指定时间去执行某一个任务。要达到这一目的,一般有两个常见的比较有效的方法。一个是用linux内部的三个定时器:ITIME_REAL,ITIMER_VIRTUAL,ITIME_PROF;另一个是
2011-08-12 15:19:40 705
原创 linux 常用时间函数及时间类型
参照:http://www.linuxdiyf.com/viewarticle.php?id=81130常用的数据类型time_t 一般用来存储国际化时间,用time()函数可直接获取到;结构体:tm 一般用来存储本地时间,可通过将time_t格式转化而来;结构体:time_val
2011-08-12 09:23:17 1732
原创 linux下的时间函数及
摘自百度文库:http://wenku.baidu.com/view/70a6a520482fb4daa58d4bfa.html1.可以用localtime函数分别获取年月日时分秒的数值。在所有的UNIX下,都有个time()的函数;格式:time_t time(
2011-08-12 08:09:00 154
原创 linux下mysql命令行常用命令
最全面的教程:MySQL 5.1参考手册下面是一些常用的命令。需要注意的是,进入mysql之后的mysql命令都以“ ;”结束,否则mysql会一直处于等待状态。第一招、mysql的登陆和退出格式:shell>mysql -h 机器IP -u 用户名 -p 密码键入命令mysql -u root -p, 回车后提示你输入密码,然后回车即可进入到mysql中了。(如果没有
2011-08-11 15:52:31 1517
原创 undefined reference to error解决方法
Linux下编译,链接程序时,经常会遇到“undefined reference error” 报错,这种错误一般是在找不到相应的库文件的时候产生的。下面是几个常见的问题(原理还不清楚,解释的也不专业,希望能解决一般问题)1. undefined reference to `operator delete(void*)/‘new(void *)’在用gcc进行编译时,有时候会出现这样的
2011-08-11 12:42:43 34025
原创 Linux/Unix服务器套接字编程异步I/O模式选择
最近做一个套接字编程的应用,服务器使用Unix。对于套接字异步的选择,一般有两种模式,一种是对每个新到来的连接都创建一个线程(pthread),可以使用线程池对其进行管理;另外一种是使用单进程下的异步I/O,通过函数select()来实现;而至于这两者那一种效率更高就
2011-08-11 08:05:24 1644
原创 多线程教程之三---线程的死锁
多个线程间如果相互等待对方拥有的资源,将可能发生死锁。上一篇中我介绍了一种通过封闭Critical Section对象而方便的使用互斥锁的方式,文中所有的例子是两个线程对同一数据一读一写,因此需要让它们在这里互斥,不能同时访问。而在实际情况中可能会有更复杂的情况出现,就是多个线程访问同一数据,一部分是读,一部分是写。我们知道只有读-写或写-写同时进行时可能会出现问题,而读-读则可以同时进行,因
2011-08-10 22:09:29 1136
原创 多线程教程之二---线程间同步
当多个线程无限制的在同一段时间内访问同一资源时,有可能导致错误的结果的发生,例:#include #include long g_iNum1,g_iNum2;DWORD WINAPI SubThread(LPVOID lpParam){ for(int i=0; i<10000; i++) { g_iNum1+=1; g_iNum2+=2; } return 0;
2011-08-10 22:07:24 3596
原创 多线程教程之一---线程的创建和参数设置
1. 线程的创建在程序中调用CreateThread函数可以创建一个线程:HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START
2011-08-10 20:59:29 3293
原创 WaitForSingleObject()函数、WaitForMultipleObject()函数
在多线程下面,有时候我们会希望等待某一线程完成了再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleObjects。这两个函数都会等待Object被标为有信号(signaled)时才返回的。
2011-08-09 13:49:45 33873 2
原创 通过OCCI连接oracle(C++)
OCCI介绍OCCI:Oracle C++调用接口(OCCI),即Oracle的C++API,允许你使用面向对象的特性、本地类、C++语言的方法来访问Oracle数据库。OCCI优势基于标准C++和面向对象的设计;效率较高;适合开发C/S模式的程序,软件中
2011-08-09 11:16:07 22826 3
转载 winsock编程宝典之资料库函数
Winsock 提供的资料库函数Winsock 也提供了同步与非同步的网路资料库函式;不过读者们要知道,此处的资料库指的并非如 Informix, Oracle 等商业用途的资料库系统,而是指主机IP 位址及名称、well-known 服务的名称及 Socket 型态及所
2011-08-09 10:38:14 1128
转载 UNIX(Linux适用)环境下使用occi远程连接Oracle数据库
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2011-05/35930.htm有点空,和新上手occi的筒子们一起总结下。这篇内容其实挺有用的,对于新人来说不管哪一方面都是一个
2011-08-09 09:40:02 1591
转载 oracle:pl/sql developer与oracle本地连接问题(非远程连接)
转载:http://blog.csdn.net/lzx_bupt/article/details/6399187环境:oracle 10g,pl/sql developer 714问题:新手装完本地oracle以后,不知道经过哪些操作才能使pl/sql developer
2011-08-09 09:12:08 820
转载 linux:常用快捷键
转自:http://blog.csdn.net/lzx_bupt/article/details/5642019通用快捷键 Alt + F1 类似Windows下的Win键,在GNOME中打开"应用程序"菜单(Applications) Alt + F2 类似Wind
2011-08-09 08:54:30 489
转载 VC++中内存泄露检测
转载:http://topic.csdn.net/u/20091015/01/b68517c2-5b02-414f-ba12-bf221ad8e518.htmlCRT中内存泄漏检测的宏有几个初学者写有大量动态内存分配不泄露的?又有几个老鸟敢嚣张的自称写那种多次分配多个函数
2011-08-08 16:11:25 538
转载 CRT中内存泄漏检测的宏
转载:http://topic.csdn.net/u/20091015/01/b68517c2-5b02-414f-ba12-bf221ad8e518.html有几个初学者写有大量动态内存分配不泄露的?又有几个老鸟敢嚣张的自称写那种多次分配多个函数出口的程序从来都是一次就
2011-08-08 16:07:33 82
转载 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值
转载自:http://blog.csdn.net/eroswang/article/details/56425501、阻塞模式与非阻塞模式下recv的返回值各代表什么意思?有没有区别?(就我目前了解阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:返回值
2011-08-08 13:45:07 565
转载 Linux 套接字编程中的 5 个隐患
转载:https://www.ibm.com/developerworks/cn/linux/l-sockpit/在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API
2011-08-08 09:48:42 511
原创 Windows下 面向连接的 UDP通信 实验
昨天转了篇Linux下面向连接的UDP通信,想做个实验,看看是否能实现“面向连接”实验结果表明是:UDP即便使用了connect()函数进行连接,传输失败仍然不会有任何的提示。实验步骤如下服务器端:1. 建立套接字;2. 绑定套接字;3. 用recvfro
2011-08-07 08:52:00 1645
原创 Linux下 面向连接的 UDP通信
UDP 程序设计UDP Server程序1、编写UDP Server程序的步骤 (1)使用socket()来建立一个UDP socket,第二个参数为SOCK_DGRAM。 (2)初始化sockaddr_in结构的变量,并赋值 这里使用“08”作为服务程
2011-08-06 12:39:42 2689
转载 C、C++和linux常见头文件
C/C++头文件一览 C、传统 C++#include //设定插入点#include //字符处理#include //定义错误码#include float.h> //浮点数处理#include //文件输入/输出#i
2011-08-05 16:25:35 989
转载 QT事件
转载自:http://www.w3china.org/blog/more.asp?name=oceanblue&id=41941Qt程序是事件驱动的,程序的每个动作都是由幕后某个事件所触发。Qt事件的类型很多, 常见的qt的事件如下:键盘事件:按键按下和松开鼠标事件:
2011-08-05 15:56:16 706
原创 Gtalk在linux下的设置
参考文章:http://www.linuxdiyf.com/viewarticle.php?id=73306一、Gtalk的设置1、for linuxGoogle Talk是采用的开放协仪进行开发的,官方没有提供For Linux的客户端版本,我们可以用第三方工具来登
2011-08-05 09:57:44 1326
转载 一种新的 Web 服务器推送技术 - comet
转载自:http://www.cnblogs.com/Music/archive/2011/04/22/about-comet-from-baidu-baike.html今天看到了一篇文章,近几年随着 Web 浏览器的增强,越来越多的应用由 C/S 转变为 B/S,但为了达到
2011-08-05 08:03:58 764
转载 gdb调试器的使用---按功能划分
转载自:http://zjf30366.blog.163.com/blog/static/41116458200832685159740/查看程序出现段错误的语句,可以使用where命令,好像与bt命令相同。GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB
2011-08-04 21:22:08 918
原创 用 GDB 调试Linux下的C程序
看程序出现段错误的语句,可以使用where命令,好像与bt命令相同。GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB
2011-08-04 20:48:32 144
转载 emacs配置文件
转载:http://blog.csdn.net/xiaobai1593/article/details/6653487 分类齐全,内容全面 高手啊!;------------个人信息与使用说明-------------;;请在~/下创建.saves和.s
2011-08-04 08:50:19 841
转载 Emacs 教程中文版
转载自:http://old.blog.edu.cn/user1/4270/archives/2006/1317756.shtmlCopyright (c) 1985 Free Software Foundation, Inc; See end for condition
2011-08-04 08:38:48 678
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人