`
qimo601
  • 浏览: 3445770 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论
文章列表
      更换博客地址告示 声     明:为了减少工作量,方便记录平时所有工作积累。从今天起,启用新博客地址,给朋友们带来麻烦,请见谅。谢谢各位支持。 新博客网址:http://blog.163.com/qimo601@126柳北风儿                                                                                                            2012-12-03  
众所周知,C++的类成员函数不能像普通函数那样用于回调,因为每个成员函数都需要有一个对象实例去调用它。         通常情况下,要实现成员函数作为回调函数,一种常用的方法就是把该成员函数设计为静态成员函数,但这样做有一个缺点,就是会破坏类的结构性,因为静态成员函数只能访问该类的静态成员变量和静态成员函数,不能访问非静态的,要解决这个问题,需要把对象实例的指针或引用做为参数传给它。         在一次偶然的机会下,看到了一种方法可以简单的实现回调非静态成员函数,其原理就是把要调用该成员函数的对象实例赋值给一个变量,然后通过该变量来调用成员函数。把逻辑整理了一下,然后写了一个 ...
本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_beginthreadex?      使用多线程其实是非常容易的,下面这个程序的主线程会创建了一个子线程并等待其运行完毕,子线程就输出它的线程ID号然后输出一句经典名言——Hello World。整个程序的代码非常简短,只有区区几行。
  _beginThreadex创建多线程解读 一、需要的头文件支持  #include <process.h>         // for _beginthread() 需要的设置:ProjectàSetting-->C/C++-->User run-time library 选择Debug Multithreaded 或者Multithreaded。即使用: MT或MTD。 源码如下:   [cpp] view plaincopy
最近想申请一个免费空间,发现国内基本没有。。。。唉。     =-=============================     10个精选国外免费空间推荐2011-09-29 11:45如果你正在寻找免费空间建立你自己的小洞,可以试试以下免费空间。   以下国外免费空间均有本人亲自测试过,所以推荐,不太好的就没有推荐。但本人是在日本测试,以下网站申请无需代理,都可以正常使用,速度也不错。不知国内是否需要代理,或已经被GFWed,如果没有被GFWed,应该是你不错的选择。 本文来自 :www.365webs.cn       000webhost – 1500 ...
最近在DcmSCU发送一个findRequest后,DcmSCP总是报一个错误:   hi, all.when i send a findRequest in DcmSCU, it will be successful to receive response.but then the DcmServer will take place an error, as follows.Quote: "2012-11-03 16:12:25.758 INFO: Sending C-Find Response" "2012-11-03 16:12:27.795 DE ...
  DICOM标准(2011) 最新版,下载请看我的百度云网盘  DICOM标准下载   DICOM图像实例,下载链接请看我的百度云网盘 DICOM图像实例(只用于学习和研究使用)
  问题   最近按照wwwapp.txt安装worklist中www application server。总有一步看不透。   3. INSTALL FILES b) Then copy all executables from dcmtk/dcmwlm/wwwapps to the same directory: preplock, readoviw, readwlst and writwlst.   我在dcmtk3.6.120120831的源码中dcmtk/dcmwlm/wwwapps并没有发现执行程序preplock, readoviw, readwls ...
  端口号 端口号可以分为三个范围:“已知端口”、“注册端口”以及“动态和/或专用端口”。   “已知端口”是从 0 到 1023 的端口。 “注册端口”是从 1024 到 49151 的端口。 “动态和/或专用端口”是从 49152 到 65535 的端口。     已知端口号 “已知端口”由 IANA 分配,并且在大多数系统中只能由系统(或根)进程或有特权的用户所执行的程序使用。TCP [RFC793] 中使用的端口用于命名进行长期对话的逻辑连接末端。为了向未知的呼叫方提供服务,系统定义了一个服务联系端口。   联系端口有时也称为“已知端口”。为了尽可能利用这些端口, ...
最近正在配置DCMTK中的worklist,因为需要响应C-Find请求。 出现了很多问题,先总结问题,慢慢解决。以后再来叙述如何配置worklist   1、为啥看不到AETitle下面的文件呢???? --------------------   解决方法:我估计原因在我还没配置wlmscpfs.exe,这样无法访问数据源。官方帮助文档说:     If you have configured wlmscpfs correctly (see separate documentation), you should be able to creat ...
最近使用DCMTK 安装worklist 需要用到webserver支持perl。   DCMTK官方建议用NCSA Httpd1.5来安装webserver,但是这个软件一般用在Unix/Linux上,而且现在很多用这种web服务的软件商都改用了Apache.所以我打算换其他的webServer,应该不影响。比如Apache http server、 iis。   1、Apache http server支持perl的配置方法:       1)httpd-2.0.64-win32-x86-openssl-0.9.8o.msi下载安装,不要下错了,Apache有很多种       ...
DICOM中C-Get 和C-Move的区别。 C-Move操作基本上都包含了C-Get的功能,而且有些地方,C-Get无法替代C-Move。 比如:   1、C-Move可以实现从一个AE将DICOM文件发送另外一个AE。而C-Get只能实现从SCP获取dicom到自身。从这个方面来说,C-Get功能有点多余。 2、从系统安全角度,C-Get随机开放了一个未绑定的端口来接收服务端图像。C-Move却需要两步连接,在发出C-MoveRequest后,必须采用C-Store来监听接收服务端的图像数据。而对于C-Store操作,都是绑定固定端口的,比较安全。C-Get就相当于电子邮箱, ...
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。    回调函数实现的机制是    ⑴定义一个回调函数;   ⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;   ⑶当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。 实例代码: #include <iostream&g
关于C++中 <sstream>中ostringstream的清空方法。   ostringstream outString; outString.str("");//清空数据      容易混淆的是,outString.clear()//清空错误的标志位      outString.str()有种两种用法,Get/set the associated string object (public member function)    1、string str ( ) const;//获取当前字符串  2、void str ( co ...
1. 输入参数,是函数的调用者,传递给函数的实现者,对函数来说,是函数外部传入给函数内部使用的 输出参数,是函数的实现者,传递给函数的调用者,对函数来说,是函数内部返回给函数外部的 需要说明的是,有些参数,即是输入参数又是输出参数 2. 输出参数可以有多个,返回值只能有一个 输出参数有时候又是输入参数,返回值没有这种情况 当函数只有一个输出时,即可以采用输出参数的方式,也可以用返回值的方式 3. 到底是不是输入参数和输出参数,要看函数的定义以及如何实现的了 输出参数的初始化,没有强制要求,最好初始化一下 
Global site tag (gtag.js) - Google Analytics