Chinaunix首页 | 论坛 | 博客
  • 博客访问: 417477
  • 博文数量: 66
  • 博客积分: 1416
  • 博客等级: 上尉
  • 技术积分: 922
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-16 10:37
个人简介

高級Oracle DBA,善長Linux系統維運以及Oracle數據庫管理,開發,調優. 具有多年PL/SQL開發經驗.

文章分类

全部博文(66)

文章存档

2015年(9)

2014年(4)

2013年(5)

2010年(1)

2009年(3)

2008年(6)

2007年(30)

2006年(8)

我的朋友

分类: C/C++

2006-11-20 16:07:47

看同事為PB系統自動更新傷神, 就隨手用C寫了段代碼,用gcc編成dll給他使用.
設計思路是這樣的.
系統pbd--->Web 網站-----> Client電腦.
1 .將所有要更新的文件用md5sum計算效驗碼,存成md5sum.txt
  格式就是這樣.
2fb9760fcd9cf16b8bf85d2715ae5dd1 *aa.pbd
5a831d59d011d016cdc1adc490f4a042 *bb.pbd
94456f2adb3494e8ca3739b601c7d151 *bmp\log.gif
2. 將這些文件復制到web site,的某個目錄,許可web訪問,限制list 權限.
 
3. pb系統的Application open事件中下載
  
4. 利用下載的md5sum.txt和本機比較,不一致就下載更新.
 
5. api 接口是
  C格式:  int    DLLIMPORT  __stdcall   updatefromurl(char *url, char *basedir)
  PB格式:  function ulong  updatefromurlA(string url, string basedir)     LIBRARY "updatesys.dll"
 
 
設計過程中,開使PB call DLL總是出現參數類型錯誤,異常退出.
在google查了下,改成以下的方式就好了.
1. dll定義:int    __declspec (dllexport)  __stdcall   updatefromurl(char *url, char *basedir)
2.建立def文檔
   LIBRARY updatesys.dll
    EXPORTS
 
3. 編譯
  dllwrap -o updatesys.dll   --def webclient.def  $(LPATH)    updatesys.o  $(LIBS)
 
小小的一個東西,牽涉到的知識點還滿多的.
阅读(2182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~