自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白永辉的专栏

资料收集类的 都是比较经典的东西

  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 ftok() ENOENT: A component of path does not exist, or path is an empty string.

使用环境:Ubuntu 11.11  c++错误产生:使用ftok()函数来映射一个键值,函数很简单#include #include key_t ftok(const char *pathname, int proj_id);即传递一个路径名,一个辅助数值即可唯一定位一个键值代码如下: //获取对应的键值 key_t key=ftok(SEM_P

2012-03-31 13:57:40 1175

原创 Linux 进程间通信之信号灯的几点注意事项

1. 关于union semun结构体的定义和头文件的包含在用信号灯进行通信时,包含头文件:#include #include #include 但是,在编译程序的时候提示错误,提示union semun对应的类型不存在看到有加头文件:#include (不便于程序移植,如果包含该头文件,则不能移到UNIX系统下)但在加上该头文件之后,又会提示,说有些数据结构被重

2012-03-31 13:42:44 1027

原创 Linux 进程间通信之消息队列的几点注意事项

1. 由于消息队列是属于内核的,因此在执行时,必须有Root权限才可以,否则会在访问消息队列时,出现EACCES错误,即访问权限的问题2. msgbuf.mtype的设置int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);msgp指向结构体:struct msgbuf {

2012-03-29 20:39:05 1551 1

转载 Linux消息队列之命令行相关

转自:http://hi.baidu.com/redflower1004/blog/item/86b6cef41edd83c4f2d3858d.html消息队列 (也叫做报文队列)是Unix系统V版本中3种进程间通信机制之一。另外两种是信号灯和共享内存。这些IPC机制使用共同的授权方法。只有通过系统调用将标志符传递给核心之后,进程才能存取这些资源。这种系统IPC对象使用的控制方法和文件系统非常

2012-03-29 16:19:18 1018

原创 expected unqualified-id before string constant

使用环境:Linux / C++错误发现:在代码编写完成之后,编译时发现如下错误:/usr/include/errno.h:32:1: 错误: expected unqualified-id before string constant错误查找:很奇怪的错误,难道系统提供的头文件也会出错?后来发现,在定义完类之后,没有加" ; "在Windows下,此类错误是会

2012-03-29 15:39:48 16535 5

转载 Linux环境进程间通信(五): 共享内存(上)

转自:http://www.bccn.net/Article/kfyy/vc/jszl/200708/5853.html共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是:同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信

2012-03-28 16:51:01 1300

转载 Linux环境进程间通信(四):信号灯

转自:http://www.bccn.net/Article/kfyy/vc/jszl/200708/5852.html一、信号灯概述信号灯与其他进程间通信方式不大相同,它主要提供对进程间共享资源访问控制机制。相当于内存中的标志,进程可以根据它判定是否能够访问某些共享资源,同时,进程也可以修改该标志。除了用于访问控制外,还可用于进程同步。信号灯有以下两种类型:1> 二值信号灯:

2012-03-28 16:49:50 2302

转载 Linux环境进程间通信(三):消息队列

转自:http://www.bccn.net/Article/kfyy/vc/jszl/200708/5851.html概念解释:IPC随进程持续、随内核持续以及随文件系统持续的定义:随进程持续:IPC一直存在到打开IPC对象的最后一个进程关闭该对象为止。如管道和有名管道;随内核持续:IPC一直持续到内核重新自举或者显示删除该对象为止。如消息队列、信号灯以及共享内存等;随文件系

2012-03-28 16:48:36 1258

原创 Linux 通过信号机制在进程间传递参数中的几个主要函数解析

1. sigqueue() 用于信号的发送函数功能:发送信号给特定的某个进程使用头文件:#include 函数原型: int sigqueue(pid_t pid, int sig, const union sigval value);参数:pid是指定接收信号的进程号;sig确定即将发送的信号;value是一个联合数据结构union sigval,

2012-03-28 15:15:32 5674

转载 Linux环境进程间通信(二):有名管道(FIFO)

转自:https://www.ibm.com/developerworks/cn/linux/l-ipc/part1/1 有名管道相关的关键概念管道应用的一个重大限制是它没有名字,因此,只能用于具有亲缘关系的进程间通信,在有名管道(named pipe或FIFO)提出后,该限制得到了克服。FIFO不同于管道之处在于它提供一个路径名与之关联,以FIFO的文件形式存在于文件系统中。这样,即

2012-03-28 11:46:04 2490

转载 Linux环境进程间通信(二):信号(下)

转自:http://www.hackbase.com/lib/2006-09-10/13316.html在信号(上)中,讨论了linux信号种类、来源、如何安装一个信号以及对信号集的操作。本部分则首先讨论从信号的生命周期上认识信号,或者宏观上看似简单的信号机制(进程收到信号后,作在信号(上)中,讨论了linux信号种类、来源、如何安装一个信号以及对信号集的操作。本部分则首先讨论从信号的生命

2012-03-28 08:23:22 95

转载 Linux环境进程间通信(二): 信号(上)

转自:http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html一、信号及信号来源信号本质信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进

2012-03-28 08:21:42 89

转载 Linux环境进程间通信(一):管道

转自:https://www.ibm.com/developerworks/cn/linux/l-ipc/part1/1 管道相关的关键概念管道是Linux支持的最初Unix IPC( Inter process commuication )形式之一,具有以下特点:1> 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;2> 只能用于父子进程或者兄弟进程之

2012-03-28 08:19:50 756

转载 Linux 进程间通信

转自:http://www.cnblogs.com/linshui91/archive/2010/09/29/1838770.html一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程

2012-03-27 19:18:00 612

转载 Windows 进程间通信

转自:http://www.cnblogs.com/TravelingLight/archive/2011/10/16/2214291.html摘要随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求。编写多进程/多线程程序成为现代程序设计的一个重要特点,在多进程程序设计中,进程间通信是不可避免的。Microsoft Win32 API提供了多种进程间通信的方法,全面

2012-03-27 19:16:16 551

原创 结构体编码转换中碰到的问题

使用环境:在网络通信中,使用结构体进行通信结构体定义如下:客户端(采用utf-16编码): [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] struct MsgHead { [MarshalAs(UnmanagedType.ByValArray, SizeCo

2012-03-27 12:42:13 809

原创 关于结构体的编码转换

使用环境:在网络通信中,使用结构体进行通信结构体如下:客户端(采用utf-16编码): [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] struct MsgHead { [MarshalAs(UnmanagedType.ByValArray, SizeConst

2012-03-27 11:37:05 102

原创 iconv()函数进行编码转换时的一个注意点

是在做例子的时候发现的,尚不知道原因...iconv()将发送的消息从utf-8转为utf-16时,前面会增加了\377\376而在其他代码间转换时,没有发现类似的问题测试的时候包括了:utf-16->utf-8utf-16->ascIIutf-8->gb2312...

2012-03-27 10:34:04 658

原创 ANSI码

原先以为Ansi编码是只有ANSI(美国国家标准协会)定义的ASCii码,后来发现这种认识是错误的...不同的国家和地区制定了不同的标准,由此产生了 GB2312,BIG5,,JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,也称为 ANSI 编码。在美国,ANSI编码的代表是:ASCII(有7位和8位两种);在简体中文系统下,ANSI 编码的代表是:

2012-03-27 10:26:15 1008

原创 只能为对象和函数指定存储类

在C++中,为了提供一些共用的编码转换,特意做了一个静态类。但是在编译的时候无法通过,提示:“ 只能为对象和函数指定存储类 ”在网上查了下,居然没有类似的错误后来百度了下静态类,发现全都是.Net下的后来才想起来,可能C++确实没有提供静态类一说,只是用C#习惯了,所以就直接写了一个静态类出来...

2012-03-27 08:41:36 1773

原创 汉字的不同编码表示

汉字用不同的编码方式有不同的实现,下面以ANSI、Utf-8、Utf-16为例进行表示以汉字中的“ 汉 ”为例(1) 在Ansi中,一个英文占用一个char,一个汉字则占用两个char(会用到负值)调试查看,其表示为:-70 -70对应的十六进制表示为:BA BA与用Ultra Edit查看得到的结果相同。Utf-8、Utf-16都是Unicode编码方式的实现“ 汉

2012-03-26 10:42:23 1339

原创 setlocale()/_wsetlocale()函数的使用

在C运行库提供的多字节字符-宽字符转换函数:mbstowcs()/wcstombs()中,需要用到全局变量locale( locale encoding ),以指定多字节字符的编码类型1. 功能:用来定义全局变量:locale(locale encoding)头文件:setlocaleANSI, Win 95, Win NT_ws

2012-03-23 16:45:27 4688 1

转载 Linux下转换字符集(UTF8转换)

Linux下转换字符集(UTF8转换) 借鉴此文自己已成功在LInux上实现gtk中 从UTF8到GB的转换 在LINUX上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv命令来实现,只不过后者是针对文件的,即将指定文件从一种编码转换为另一种编码。 一、利用iconv函数族进行编码转换 iconv函数族的头文件是iconv.h,使用前需包含之。 #include ic

2012-03-23 09:10:31 118

原创 MultiByteToWideChar和WideCharToMultiByte用法详解

部分参考:百度百科http://blog.csdn.net/leitianjun/article/details/5605410注意:这两个函数是由Windows提供的转换函数,不具有通用性C语言提供的转换函数为mbstowcs()/wcstombs()一、函数简单介绍涉及到的头文件:函数所在头文件:windows.h#inc

2012-03-22 14:12:55 24982 1

原创 窗口未显示时,操作窗口的注意事项

做的时候碰到点问题,随便总结一下主要碰到的情况为:需要隐藏一个窗口,使之未显示使用的代码如下:public void hideForm(){ this.Show(); this.ShowInTaskbar = false; this.WindowState = FormWindowState.Minimized;}即,已经调用Show()

2012-03-21 14:10:27 751

原创 Access2007中的关键字

转自:Access2007的帮助文档对于 Microsoft Office Access 2007 或 Access 数据库引擎,“保留字”是具有特定含义的单词和符号。如果您使用保留字或符号来命名表中的字段,Access 将向您发出警告,说明该词已保留,并且在引用该字段时您可能会遇到错误。如果您使用保留字来命名控件、对象或变量,则您也可能会遇到错误。您收到的错误消息不一定会告诉您保留字是导

2012-03-21 09:53:18 1047

原创 Access中使用字段bool 引起的 字段定义语法错误。

使用环境:VS2010、Access2007、C#出错场景:在代码中,动态创建一个表:bookInfo使用代码如下:private OleDbCommand m_Cmd;m_Cmd.CommandText = "create table bookInfo (bookID int not null primary key, bookType char(16), bBooked bo

2012-03-21 09:51:56 2839

原创 分配空间不足引起的错误:‘Stack smashing detected’

使用环境:ubuntu 11.10、C++出错情景:使用mysql执行一个query语句,以进行一个涉及多个表的联合查询(query语句比较长)代码如下:char query[128]={0};sprintf(query, ".....");...return myList;执行结束之后,返回一个list类型的值#include void func()

2012-03-21 09:49:11 32266 3

原创 auto_increment引起的“CREATE TABLE 语句中的语法错误”

使用环境:VS2010、C#、Access2007出错场景:用SQL语句来动态创建一个表,其中想定义一个字段为主键,并且自动增加使用代码如下:private OleDbCommand m_Cmd; m_Cmd.CommandText = "create table bookInfo (bookID int not null auto_increment primary ke

2012-03-20 15:40:02 15297

转载 Access2007关键字

转自:Access2007的帮助文档对于 Microsoft Office Access 2007 或 Access 数据库引擎,“保留字”是具有特定含义的单词和符号。如果您使用保留字或符号来命名表中的字段,Access 将向您发出警告,说明该词已保留,并且在引用该字段时您可能会遇到错误。如果您使用保留字来命名控件、对象或变量,则您也可能会遇到错误。您收到的错误消息不一定会告诉您保留字是导

2012-03-20 15:33:13 768

原创 字段定义语法错误

使用环境:VS2010、Access2007、C#出错场景:在代码中,动态创建一个表:bookInfo使用代码如下:private OleDbCommand m_Cmd;m_Cmd.CommandText = "create table bookInfo (bookID int not null primary key, bookType char(16), bBooked

2012-03-20 14:16:36 5791 1

原创 使用SplitContainer来实现隐藏窗口的部分内容

有两种方法:(1) Splitter:比较老的方法(2) SplitContainer:比较新的方法最终界面如下:方法一:使用Splitter实现(1) 在窗口中添加一个Panel控件,即Panel1将其Dock属性设为Right,这样Panel1就停靠在了窗口最右侧;(2) 在窗口中添加一个Splitter控件,即Splitter1将其Dock属性设为Ri

2012-03-15 15:39:18 9953 1

原创 SplitContainer的使用

作用:(Splitter的简化)使用 SplitContainer 控件可分隔容器(如 Form)的显示区域,并使用户可以调整已添加到 SplitContainer 面板中的控件的大小。当用户将鼠标指针移到拆分器上时,光标将发生变化,以指示可以调整 SplitContainer 控件内部的控件的大小。SplitContainer 也使设计时的控件放置更容易。例如,若要创建一个与 Win

2012-03-15 14:42:36 13130

原创 Splitter 控件的使用

参考至:http://hi.baidu.com/sddyszb/blog/item/4a4a210b591b312e6b60fbbf.html注意:Splitter 已被 SplitContainer 取代,而且SplitContainer的使用更为方便。概念解释:可调整的控件:可以被Splitter控件调整的控件。两者有相同的Dock属性,而且可调整控件位于Splitter控件在

2012-03-15 09:20:47 8722

原创 没有对象无法调用成员函数‘void CBasicMsgSender::trimTransedBuf(char*, int)’

静态成员函数调用非静态成员函数时的错误

2012-03-14 09:31:56 277

原创 iconv() errno:E2BGI(OutBuf空间不够)

使用环境:ubuntu 11.10  Emacs C++出现错误:从uft-8转为unicode16时,碰到一个奇怪的问题,提示“errno:E2BGI”,即(OutBuf空间不够)uft-8转换成宽字节时,1个字节变为2个字节,即转换之后的unicode16码占2倍的空间,出错代码:

2012-03-14 08:55:55 985

原创 Socket.Select()函数使用不当引发的问题(关于套接字在线程间传递是否可行的验证)

使用环境:VS2010 C#做东西的时候碰到一个问题:在后台中,创建了一个监听线程,用来监听是否有连接到监听地址的请求,如果有,则加入监听套接字集中;(这样的话,一个线程就可以接收N个套接字的信息)创建了一个接收线程,对监听套接字集中的套接字进行消息接收,并将该消息显示出来;其中,监听套接字集中有与服务器连接的套接字srvCommSock出错状况:类似下图所示即

2012-03-13 14:18:29 2272

原创 远程主机强迫关闭了一个现有的连接。

使用环境:VS2010  C#出错状况:发送端发送一串字符,显示“成功发送了38字节”;但接收端却在Receive()函数的时候检测到了SocketException,显示“远程主机强迫关闭了一个现有的连接。”代码如下:发送端: try { Socket clientSock = new Sock

2012-03-13 13:15:45 45656 5

转载 C# Listbox的使用

转自:http://blog.csdn.net/xujuntao0000/article/details/4711574ListBox英文意思为列表框,可以说是ListView的简化版本,简化名为”LBS",ListBox窗口用来列出一系列的文本,每条文本占一行,用户可以从中选择一项或多项。当项总数超过可以显示的项数时,则会自动向ListBox控件添加滚动条。C#中ListBox控件的用法

2012-03-12 14:05:24 12133

转载 C# 关于目录的操作

转自:http://www.cnblogs.com/JoshuaDreaming/archive/2010/11/25/1887996.html获取当前目录的几种方法:(1) 获取和设置当前目录(即该进程从中启动)的完全限定路径(绝对路径)-------该方法最简单且可靠string str = System.Environment.CurrentDirectory;result: X

2012-03-07 15:12:44 887

高质量C 编程指南

高质量C++/C 编程指南 帮助提高编程质量

2011-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除