ACCESSvs2008bin产卵Debug bll Release文件 obj下的Debug bll Release文件分别

Bin目录用来存放编译的结果,bin是第二前行制binrary的英文缩写,因为早期C编译的主次文件还是二进制文件,它发生Debug和Release两只本子,分别对应的文本夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们得以经过:项目性质—>配置属性—>输出路径来改。

 

obj是object的缩写,用于存放编译过程遭到生成的中临时文件。其中还生debug和release(中文的意:释放)两只子目录,分

转对诺调试版本与发行本,在.NET中,编译是分开模块进行的,编译整个完成后会联合为一个.DLL或.EXE保存到bin目录下。

盖老是编译时默认都是运增量编译,即只有更编译改变了底模块,obj保存每个模块的编译结果,用来加速编译速度。是

啊采用增量编译,可以经:项目性质—>配置属性—>高级—>增量编译来设置。

 

PRoperties文件夹定义你程序集的属于性 项目性质文件夹 一般但出一个 AssemblyInfo.cs类文件,用于保存程序集的信息,如称

称,版本等,这些信一般和项目性质面板中之数据对应,不需要手动编写。

 

时常你见面遇上DEBUG成功的本RELEASE   就发问题,以下是问题之分析总结
DEBUG和RELEASE   版本差异与调试相关题材:   
  .                   内存分配问题   
    
 1.    变量未初始化。下面的先后在debug中运作的万分好。

** thing   *   search(thing   *   something)   
                  BOOL   found;   
                  for(int   i   =   0;   i   <   whatever.GetSize();   i++)   
                      {   
                      if(whatever[i]->field   ==   something->field)   
                            {   /*   found   it   */   
                              found   =   TRUE;   
                              break;   
                            }   /*   found   it   */   
                        }   
          if(found)   
                            return   whatever[i];   
          else   
                            return   NULL;   
  而于release中倒是分外,因为debug中会自行为变量初始化found=FALSE,而在release版中虽然非见面。所以尽可能的叫变量、类或结构初始化。     
**

**2.    数据溢起之题目       
    
                  如:char   buffer[10];   
                            int   counter;   
    
                lstrcpy(buffer,   “abcdefghik”);   
    
  于debug版中buffer的NULL覆盖了counter的要职,但是除非counter>16M,什么问题啊没。但是于release版中,counter可能被在寄存器中,这样NULL就蒙了buffer下面的长空,可能就是是函数的回来地址,这将导致ACCESS   ERROR。   
    **


 

**  3.   DEBUG版和RELEASE版的内存分配办法是差的   。**

假定您当DEBUG版中申请       ele   为   6*sizeof(DWORD)=24bytes,实际上分配给你的凡32bytes(debug版以32bytes也单位分配),   而在release版,分配给您的就算是24bytes(release版以8bytes吧单位),所以在debug版中要您写ele[6],可能未会见有啊问题,而当release版中,就有ACCESS   VIOLATE。   

 

相关文章