⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcjq032.txt

📁 c++ builder 的一些txt文档
💻 TXT
字号:

C++ Builder开发者:程序员之家
var how_many_ads = 3;
var now = new Date()
var sec = now.getSeconds()
var ad = sec % how_many_ads;
ad +=1;
 
  
  
    
      
        
          
            首页   
              | 控件天堂 | 控件使用                   
              | 编程技巧                    
              |  源代码 |  编程工具 |        
               系统补丁 |  电子书籍 | 技术论坛                    
              |  相关链接                 
                           
                         
                       
                     
                     
                       
                         
                           
                             
                           
                 
       if (ad==1) {document.write(''+'');}               
       if (ad==2) {document.write(''+'');}               
       if (ad==3) {document.write(''+'');}               
                              
                           
                        
                                    
                        
                      
                    
                  
                  
                    
                      
                        
                          
                       
                     
var marqueecontents=''+scroll_text+''           
if (document.all)           
document.write(''+marqueecontents+'')           
function regenerate(){           
window.location.reload()           
}           
function regenerate2(){           
if (document.layers){           
setTimeout("window.onresize=regenerate",450)           
intializemarquee()           
}           
}           
function intializemarquee(){           
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)           
document.cmarquee01.document.cmarquee02.document.close()           
thelength=document.cmarquee01.document.cmarquee02.document.height           
scrollit()           
}           
function scrollit(){           
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){           
document.cmarquee01.document.cmarquee02.top-=speed           
setTimeout("scrollit()",100)           
}           
else{           
document.cmarquee01.document.cmarquee02.top=marqueeheight           
scrollit()           
}           
}           
window.onload=regenerate2           
                       
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           
                             
                               
                  当前位置
    
    
                    编程技巧            
                            
                          
                        
                        
                        
                          
                            
                              
                     
      BCB中动态库的链接问题         
                           
                     
                       
                         
                           
                           
                            
动态库链接到应用程序中主要有两种方式:隐式链接和显式链接。隐式链接是常用方式。 
            
  如果应用程序和动态库是分别在不同开发平台上编制的,动态库的导入库(lib文件)可能会与应用程序的开发平台所要求的导入库格式不相容,从而在应用程序与动态库隐式链接时,出现程序链接错误:contains   
            invalid OMF record。例如在C++Builder开发平台上链接Visual   
            C++制作的动态库时,就会出现上述的错误。解决这一问题,可以采用两种方法:显式连接法和使用C++Builder中提供的导入库生成工具。  
            
  显式连接:显式连接不需要在工程中加入导入库和相应的头文件,只需要把动态库放入指定的目录下。在应用程序中通过函数调用显式的装载和卸掉DLL,通过函数指针来调用DLL的导出函数。
            
  步骤:
            
  1. 调用LoadLibrary函数装载DLL并得到模块句柄;  
            
  2. 调用GetProcAddress函数获取指定导出函数的指针;  
            
  3. 用这个函数的指针调用该函数;  
            
  4. 使用完毕后,用FreeLibrary释放DLL。  
            
  例子:  
            
  用VC++制作一个动态库:
            
  选new→Project→Win32—Dynamic—Link Library,加入addit.cpp  
            
  extern ″C″  
            
  { void —declspec( dllexport ) addit(int a, int b, int *c)  
            
  { *c = a + b;  
            
   }  
            
  }
            
  addit.h
            
  extern ″C″  
            
  {void addit(int a, int b, int *c);}  
            
  编译链接生成addit.dll和addit.lib。在C++Builder程序中调用addit函数。
            
  C++Builder程序中:
            
  {HINSTANCE handle; //DLLa模块的句柄  
            
   FARPROC lpFarProc;  
            
  void (*lpaddit)(int,int,int *);  
            
//指向addit函数的指针  
            
  int ntemp;  
            
  handle = LoadLibrary(″addit.dll″);  
            
  //装载addit.dll, 得到该库句柄  
            
  //addit.dll位于当前目录下
            
  lpFarProc = GetProcAddress(handle,″addit″);  
            
  //得到指向函数addit的指针
            
  lpaddit = (void(—cdecl *)(int, int, int *))lpFarProc;   
            //指针类型转换  
            
  lpaddit(2,3,&ntemp); //使用addit函数  
            
  FreeLibrary(handle);
            
  //将addit.dll从程序中卸掉
            
  }
            
  此程序在VC++ 5.0 和C++Builder 3.0下通过。  
            
  使用C++Builder中提供的导入库生成工具:先预处理,后隐式链接。
            
  步骤:
            
  1.用C++Builder提供的implib.exe工具重新生成该动态库(xxx.dll)的导入库(xxx.lib)。命令如下:
            
  implib addit.lib addit.dll。  
            
  addit.dll为已有动态库,addit.lib为要生成的导入库。由此生成的导入库addit.lib格式与C++Builder开发平台是相容的;
            
  2.在动态库的头文件addit.h中,对其输出函数重新说明,语句如下:
            
   extern —stdcall void addit( int a, int b, int *c);  
            
  3.然后采用隐式链接法,将重新生成的导入库(addit.lib)和重新说明的头文件(addit.h)加入到C++Builder应用程序的工程项目中,进行编译和连接。
            
  addit.dll按上述步骤操作,在VC++ 5.0 和C++Builder   
            3.0下通过。
  
              转自《电脑报》。    
                            
                          
                              
                      
                            
                              
                            
                  if (ad==1) {document.write(''+'');}            
                  if (ad==2) {document.write(''+'');}            
                  if (ad==3) {document.write(''+'');}            
                                              
                            
                          
                        
                      
                 
                  
                    
                      
                    
                    
                        
                    
                  
                     
                   
                 
               
             
             
               
                 
                   
                     
            C++ Builder开发者®           
              2000年06月01日 站长:唐朝           
                     
                   
                 
               
               
                 
               
             
             
           
           
           
           

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -