当前位置: 首页 > news >正文

网站集约化建设做法常州做网上废品收购网站

网站集约化建设做法,常州做网上废品收购网站,什么专业学网页设计制作,为什么网站浏览不是做的那样转自#xff1a;https://blog.51cto.com/u_2845385/1053291 也许是DCMTK的开发人员认为DCMTK是一个专用的库#xff0c;没有必要做成动态链接库。 也许是DCMTK的开发人员认为DCMTK需要跨平台#xff0c;做成动态链接库就平台相关了#xff0c;违背了跨平台的本意。 …转自https://blog.51cto.com/u_2845385/1053291 也许是DCMTK的开发人员认为DCMTK是一个专用的库没有必要做成动态链接库。 也许是DCMTK的开发人员认为DCMTK需要跨平台做成动态链接库就平台相关了违背了跨平台的本意。        正因为这两个也许造成DCMTK经过编译之后总是得不到DLL文件。DCMTK到底能不能编译成DLL来使用呢反正我是失败了。你来试试。不过在编译DCMTK的过程中也解决了不少棘手问题。不感独享。 我用的编译环境是VC8(就是VS2005)里面的VC。我们编译的目的是使DCMTK能和我们现在使用的MFC良好协作。我们学习都是螺旋渐进式学习的(提出结论,然后推翻结论,得出新结论)我们也这样并得到了以下结论。 结论一、只能使用MBCS字符集     使用VC编写程序总是离不开字符串需要使用字符串CString。而VC呢又支持各种不同的字符串编码。那么CMake创建的DCMTK项目里面默认的什么字符串编码呢好象VC8向导创建的项目默认就是Unicode而不是MBCS哦。正好相反需要注意。CMake创建的DCMTK项目里面都使用的MBCS字符集。那么以后使用VC编写DCMTK应用程序的时候还是使用MBCS字符集吧。毕竟DCMTK太大了修改起来不太方便。以后我们就不讨论Unicode版本的应用程序啦只考虑使用MBCS的应用程序。 结论二、只能编译成静态连接库     DCMTK只能编译成静态连接库。     为什么呢因为我们按照默认的办法编译DCMTK之后找不到任何DLL文件。全部是一大堆的LIB文件和.H文件。 结论三、需要C语言运行库     VC书写的程序都需要使用C语言运行库(里面实现了标准的C语言函数哦比如IOSTREAM等东西)。 结论四     C语言运行库的引如方式有两种。与MFC的用法一样有动态链接的方式和静态链接的方式。也就是编译参数/MT /MTd /MD /MDd负责控制啦。     /MT负责链接发行版的C语言运行库(静态链接)。     /MTd负责链接调试版的C语言运行库(静态链接)。     /MD负责链接发行版的C语言运行库(动态链接)。     /MDd负责链接调试版的C语言运行库(动态链接)。          我们都知道动态链接MFC的时候,应用程序运行时会要求提供MFC对应的DLL。     VC6的需要MFC4.2的DLL。调试版的程序会自动引入MFC42D.DLL。发行版的会自动引入MFC42.DLL。MFC42U.DLL呢(那是Unicode版本的MFC前面都说啦不讨论了)。VC8提供的DLL形式的MFC又是另外一个模样叫做MFC80.DLL。 结论五、静态链接方式链接语言运行库 DCMTK使用的是静态链接方式链接语言运行库。使用默认的DCMTK编译参数生成的LIB文件。在使用的时候需要注意以下问题。     ①需要设置项目的字符类型为MBCS可以判断有没有定义文本宏_MBCS     ②需要设置项目使用语言运行库的方法为静态链接可以判断有没有定义文本宏(_MDd,_MD,_MT,MTt)     ③需要静态链接MFC可以判断有没有定义文本宏(_AFXDLL)     ④需要链接很多库可以通过在源文件中编写代码实现, 提高重用度        #pragma comment(lib,ofstd)         #pragma comment(lib,dcmdata)         #pragma comment(lib,dcmtls)         #pragma comment(lib,dcmnet)         #pragma comment(lib,dcmqrdb)         #pragma comment(lib,dcmimgle)         #pragma comment(lib,dcmp_w_picpath)         #pragma comment(lib,dcmjpeg)         #pragma comment(lib,ijg8)         #pragma comment(lib,ijg12)         #pragma comment(lib,ijg16)         #pragma comment(lib,dcmdsig)         #pragma comment(lib,dcmsr)         #pragma comment(lib,dcmpstat)         #pragma comment(lib,dcmwlm)         #pragma comment(lib,netapi32)         #pragma comment(lib,wsock32)     。 结论六、独立性和完整性都最好     按照结论五编写出来的应用程序是很大的。但是独立性和完整性都最好。我写了个简单的Demo。调试版的大小是4.05M发行版的大小是1.10M。但是复制到什么地方都可以运行根本不需要其它额外的动态连接库。 结论七     有时必须调整DCMTK链接语言运行库的方式(变静态链接为动态链接)。     比如要写扩展MFC的DLL时就必须采用动态链接的方式使用MFC。VC要求采用动态链接的方式使用MFC就必须采用用动态链接的方式使用语言库。如果DCMTK采用静态方式链接语言库使用DCMTK的程序采用动态方式链接那么就会出现语言库中的符号符号重复定义的情况。怎么办呢能不能在最后链接的时候在统一指定语言库的使用方式呢这个我测试了好象不行。哪位大侠搞定了通知我下。我采用的办法是重新编译DCMTK。修改其语言库链接方式。如何操作呢     替换所有CMakeLists.txt中的/MT为/MD (根据经验其实也就根目录下的CMakeLists.txt中存在)。重新编译DCMTK。这样一来我们的程序就可以采用动态链接的方式使用MFC了。      这次编译出来的程序大小还可以。我把需要用到的功能用MFC扩展的DLL进行了包装。调试版本的DCMTK.DLL大小为1.92M发行版本的DCMTK.DLl大小为884K调试版本的Demo.EXE文件大小为152K发行版本的Demo.EXE大小为48K。其实DCMTK.DLL的维护完全可以安排一个专人负责。一般调试完毕之后变化是很少的。如此以来调试程序的时候编译速度快多了。
http://www.yutouwan.com/news/444645/

相关文章:

  • 域名过期网站还有用吗网站访问量js
  • 网站推广方案注意事项?软件工程好找工作吗
  • 合肥市建设厅官方网站浙江华企 做网站怎么样
  • 广元市建设局官方网站长沙百度推广开户
  • 北京免费建站公益广告
  • 网站科技感颜色在线识图
  • 网站建设大作业成品免费观看网站
  • asp 网站建设教程免费网站建设方案
  • 长沙网站制作公司推荐政务网站风格
  • 湖南网站建设网络公司wordpress绑定手机版
  • 自己做彩票网站合法吗贵州省房屋和城市建设厅官方网站
  • 企业网站设计与实现网站建设 电子商务 品牌首选IDC
  • 手机网站和电脑网站的区别一级造价工程师注册管理系统
  • 做网站第三方外贸企业邮箱哪家好
  • 外贸网站建设推广方案企业网络规划与设计方案
  • 2017年免费建网站翰诺网站建设
  • c 网站开发环境谷歌绘制的网站
  • 杭州正晖建设工程有限公司网站百度关键词优化软件如何
  • 网站是什么时候开始的下载网站后怎么做
  • 网站建设战略规划的方法福州微信网站
  • 住房城乡建设厅网站iis2008如何做网站
  • 商城网站网站开发常州小程序开发公司
  • 网络工程师中级职称报考条件单页站好做seo吗
  • 2021好心人给个开车的网站找阿里巴巴购买做网站的软件
  • 如何开个公司网站秦皇岛黄金海岸收费吗
  • 网站规划建设与管理维护课后答案网站建设综合推荐
  • 什么样的网站利于百度优化自适应全屏网站
  • 泰兴市淘宝网站建设可以直接用php做网站吗
  • 深圳模板网站建设案例wordpress 多服务器
  • 做网站和做公众号深圳营销型网站哪家好