Changeset 266 in dev for trunk/abdev/BasicCompiler32
- Timestamp:
- Aug 7, 2007, 4:14:06 AM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler32
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler32/BasicCompiler.vcproj
r260 r266 1325 1325 </File> 1326 1326 <File 1327 RelativePath="..\BasicCompiler_Common\src\Source.cpp" 1328 > 1329 </File> 1330 <File 1327 1331 RelativePath="..\BasicCompiler_Common\src\Symbol.cpp" 1328 1332 > … … 1494 1498 </File> 1495 1499 <File 1500 RelativePath="..\BasicCompiler_Common\include\Source.h" 1501 > 1502 </File> 1503 <File 1496 1504 RelativePath="..\BasicCompiler_Common\include\Symbol.h" 1497 1505 > -
trunk/abdev/BasicCompiler32/Compile_ProcOp.cpp
r265 r266 28 28 //////////////////////////////////////// 29 29 30 extern BOOL bDll; 31 if(!bDll){ 30 if( !compiler.IsDll() ){ 32 31 //ret 33 32 compiler.codeGenerator.op_ret(); … … 757 756 } 758 757 void CompileLocal(){ 759 extern BOOL bDll; 760 if(bDll){ 758 if( compiler.IsDll() ){ 761 759 //DLLの場合はグローバル変数を初期化するための関数を一番初めにコンパイルする 762 760 const UserProc *pUserProc=GetSubHash("_System_InitDllGlobalVariables"); -
trunk/abdev/BasicCompiler32/MakePeHdr.cpp
r265 r266 121 121 extern HANDLE hHeap; 122 122 extern BOOL bDebugCompile; 123 extern BOOL bDll;124 123 extern DWORD ImageBase; 125 124 extern int obp_AllocSize; … … 140 139 141 140 //エクスポート セクションを利用するかどうか 142 if( bDll) bUse_ExportSection=1;141 if( compiler.IsDll() ) bUse_ExportSection=1; 143 142 else bUse_ExportSection=0; 144 143 … … 176 175 // 名前空間情報を取得 177 176 NamespaceSupporter::CollectNamespaces( 178 Smoothie::Lexical::source.GetBuffer(),177 compiler.GetObjectModule().source.GetBuffer(), 179 178 compiler.GetObjectModule().meta.GetNamespaces() 180 179 ); … … 183 182 // CollectProcedures関数の中で参照されるオブジェクト名を事前に取得する。 184 183 // ※オブジェクトの内容までは取得しない 185 compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( Smoothie::Lexical::source );184 compiler.GetObjectModule().meta.GetClasses().CollectClassesForNameOnly( compiler.GetObjectModule().source ); 186 185 187 186 //TypeDef情報を初期化 … … 194 193 compiler.pCompilingClass = NULL; 195 194 CollectProcedures( 196 Smoothie::Lexical::source,195 compiler.GetObjectModule().source, 197 196 compiler.GetObjectModule().meta.GetUserProcs(), 198 197 compiler.GetObjectModule().meta.GetDllProcs() … … 409 408 UserProc::CompileStartForGlobalArea(); 410 409 411 if( !bDll){410 if( !compiler.IsDll() ){ 412 411 // 名前空間が初期化されているかをチェック 413 412 if( compiler.GetNamespaceSupporter().GetLivingNamespaceScopes().size() ){ … … 864 863 865 864 866 if( bDll){865 if( compiler.IsDll() ){ 867 866 //DLLの場合はリロケーション情報を仮生成 868 867 //※正式な生成は各セクションのメモリ上のサイズが決定してから再度行う。 … … 1160 1159 1161 1160 1162 if( bDll){1161 if( compiler.IsDll() ){ 1163 1162 //DLLの場合はリロケーション情報を生成 1164 1163 pobj_Reloc->ResetRelocBuffer(); … … 1299 1298 ImagePeHdr.FileHeader.NumberOfSymbols= 0x00000000; 1300 1299 ImagePeHdr.FileHeader.SizeOfOptionalHeader= IMAGE_SIZEOF_NT_OPTIONAL32_HEADER; 1301 if( bDll){1300 if( compiler.IsDll() ){ 1302 1301 ImagePeHdr.FileHeader.Characteristics= IMAGE_FILE_EXECUTABLE_IMAGE| 1303 1302 IMAGE_FILE_32BIT_MACHINE| … … 1319 1318 ImagePeHdr.OptionalHeader.SizeOfInitializedData=FileSize_DataSection; //データサイズ(.dataのセッションサイズ) 1320 1319 ImagePeHdr.OptionalHeader.SizeOfUninitializedData=0; //未初期化データのサイズ(なし) 1321 if( bDll){1320 if( compiler.IsDll() ){ 1322 1321 if(DllMain_EntryPoint==-1) 1323 1322 ImagePeHdr.OptionalHeader.AddressOfEntryPoint=0;
Note:
See TracChangeset
for help on using the changeset viewer.