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

📄 msvc_objectmodel.cpp

📁 Linux下的基于X11的图形开发环境。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	default:	    found = FALSE; break;	}	break;    case 'P':	GeneratePreprocessedFile = preprocessYes;	break;    case 'Q':	if ( second == 'I' ) {	    AdditionalOptions += option;	    break;	}	found = FALSE; break;    case 'R':	if ( second == 'T' && third == 'C' ) {	    if ( fourth == '1' )		BasicRuntimeChecks = runtimeBasicCheckAll;	    else if ( fourth == 'c' )		SmallerTypeCheck = _True;	    else if ( fourth == 's' )		BasicRuntimeChecks = runtimeCheckStackFrame;	    else if ( fourth == 'u' )		BasicRuntimeChecks = runtimeCheckUninitVariables;	    else		found = FALSE; break;	}	break;    case 'T':	if ( second == 'C' ) {	    CompileAs = compileAsC;	} else if ( second == 'P' ) {	    CompileAs = compileAsCPlusPlus;	} else {	    qWarning( "Generator: Options '/Tp<filename>' and '/Tc<filename>' are not supported by qmake" );	    found = FALSE; break;	}	break;    case 'U':	UndefinePreprocessorDefinitions += option+2;	break;    case 'V':	AdditionalOptions += option;	break;    case 'W':	switch ( second ) {	case 'a':	case '4':	    WarningLevel = warningLevel_4;	    break;	case '3':	    WarningLevel = warningLevel_3;	    break;	case '2':	    WarningLevel = warningLevel_2;	    break;	case '1':	    WarningLevel = warningLevel_1;	    break;	case '0':	    WarningLevel = warningLevel_0;	    break;	case 'L':	    AdditionalOptions += option;	    break;	case 'X':	    WarnAsError = _True;	    break;	case 'p':	    if ( third == '6' && fourth == '4' ) {		Detect64BitPortabilityProblems = _True;		break;	    }	    // Fallthrough	default:	    found = FALSE; break;	}	break;    case 'X':	IgnoreStandardIncludePath = _True;	break;    case 'Y':	switch ( second ) {	case '\0':	case '-':	    AdditionalOptions += option;	    break;	case 'X':	    UsePrecompiledHeader = pchGenerateAuto;	    PrecompiledHeaderFile = option+3;	    break;	case 'c':	    UsePrecompiledHeader = pchCreateUsingSpecific;	    PrecompiledHeaderFile = option+3;	    break;	case 'd':	case 'l':	    AdditionalOptions =+ option;	    break;	case 'u':	    UsePrecompiledHeader = pchUseUsingSpecific;	    PrecompiledHeaderFile = option+3;	    break;	default:	    found = FALSE; break;	}	break;    case 'Z':	switch ( second ) {	case '7':	    DebugInformationFormat = debugOldStyleInfo;	    break;	case 'I':	    DebugInformationFormat = debugEditAndContinue;	    break;	case 'd':	    DebugInformationFormat = debugLineInfoOnly;	    break;	case 'i':	    DebugInformationFormat = debugEnabled;	    break;	case 'l':	    DebugInformationFormat = debugEditAndContinue;	    break;	case 'a':	    DisableLanguageExtensions = _True;	    break;	case 'e':	    DisableLanguageExtensions = _False;	    break;	case 'c':	    if ( third == ':' ) {		if ( fourth == 'f' )		    ForceConformanceInForLoopScope = _True;		else if ( fourth == 'w' )		    TreatWChar_tAsBuiltInType = _True;		else		    found = FALSE;	    } else {		found = FALSE; break;	    }	    break;	case 'g':	case 'm':	case 's':	    AdditionalOptions += option;	    break;	case 'p':	    switch ( third )	    {	    case '\0':	    case '1':		StructMemberAlignment = alignSingleByte;		if ( fourth == '6' )		    StructMemberAlignment = alignSixteenBytes;		break;	    case '2':		StructMemberAlignment = alignTwoBytes;		break;	    case '4':		StructMemberAlignment = alignFourBytes;		break;	    case '8':		StructMemberAlignment = alignEightBytes;		break;	    default:		found = FALSE; break;	    }	    break;	default:	    found = FALSE; break;	}	break;    case 'c':	if ( second == '\0' ) {	    CompileOnly = _True;	} else if ( second == 'l' ) {	    if ( *(option+5) == 'n' ) {		CompileAsManaged = managedAssembly;		TurnOffAssemblyGeneration = _True;	    } else {		CompileAsManaged = managedAssembly;	    }	} else {	    found = FALSE; break;	}	break;    case 'd':	if ( second != 'r' ) {	    found = FALSE; break;	}        CompileAsManaged = managedAssembly;	break;    case 'n':	if ( second == 'o' && third == 'B' && fourth == 'o' ) {	    AdditionalOptions += "/noBool";	    break;	}	if ( second == 'o' && third == 'l' && fourth == 'o' ) {	    SuppressStartupBanner = _True;	    break;	}	found = FALSE; break;    case 's':	if ( second == 'h' && third == 'o' && fourth == 'w' ) {	    ShowIncludes = _True;	    break;	}	found = FALSE; break;    case 'u':	UndefineAllPreprocessorDefinitions = _True;	break;    case 'v':	if ( second == 'd' || second == 'm' ) {	    AdditionalOptions += option;	    break;	}	found = FALSE; break;    case 'w':	switch ( second ) {	case '\0':	    WarningLevel = warningLevel_0;	    break;	case 'd':	    DisableSpecificWarnings += option+3;	    break;	default:	    AdditionalOptions += option;	}	break;    default:	found = FALSE; break;    }    if( !found )	warn_msg( WarnLogic, "Could not parse Compiler option: %s", option );    return TRUE;}// VCLinkerTool -----------------------------------------------------VCLinkerTool::VCLinkerTool()    :	EnableCOMDATFolding( optFoldingDefault ),	GenerateDebugInformation( unset ),	GenerateMapFile( unset ),	HeapCommitSize( -1 ),	HeapReserveSize( -1 ),	IgnoreAllDefaultLibraries( unset ),	IgnoreEmbeddedIDL( unset ),	IgnoreImportLibrary( unset ),	LargeAddressAware( addrAwareDefault ),	LinkDLL( unset ),	LinkIncremental( linkIncrementalYes ),	LinkTimeCodeGeneration( unset ),	MapExports( unset ),	MapLines( unset ),	OptimizeForWindows98( optWin98Default ),	OptimizeReferences( optReferencesDefault ),	RegisterOutput( unset ),	ResourceOnlyDLL( unset ),	SetChecksum( unset ),	ShowProgress( linkProgressNotSet ),	StackCommitSize( -1 ),	StackReserveSize( -1 ),	SubSystem( subSystemNotSet ),	SupportUnloadOfDelayLoadedDLL( unset ),	SuppressStartupBanner( unset ),	SwapRunFromCD( unset ),	SwapRunFromNet( unset ),	TargetMachine( machineNotSet ),	TerminalServerAware( termSvrAwareDefault ),	TurnOffAssemblyGeneration( unset ),	TypeLibraryResourceID( 0 ){}QTextStream &operator<<( QTextStream &strm, const VCLinkerTool &tool ){    strm << _begTool3;    strm << _VCLinkerToolName;    strm << XPair( _AdditionalDependencies4, tool.AdditionalDependencies, " " );    strm << XPair( _AdditionalLibraryDirectories, tool.AdditionalLibraryDirectories );    strm << XPair( _AdditionalOptions, tool.AdditionalOptions, " " );    strm << XPair( _AddModuleNamesToAssembly, tool.AddModuleNamesToAssembly );    strm << SPair( _BaseAddress, tool.BaseAddress );    strm << XPair( _DelayLoadDLLs, tool.DelayLoadDLLs );    if ( tool.EnableCOMDATFolding != optFoldingDefault )    strm << EPair( _EnableCOMDATFolding, tool.EnableCOMDATFolding );    strm << SPair( _EntryPointSymbol, tool.EntryPointSymbol );    strm << XPair( _ForceSymbolReferences, tool.ForceSymbolReferences );    strm << SPair( _FunctionOrder, tool.FunctionOrder );    strm << TPair( _GenerateDebugInformation, tool.GenerateDebugInformation );    strm << TPair( _GenerateMapFile, tool.GenerateMapFile );    if ( tool.HeapCommitSize != -1 )			    strm << LPair( _HeapCommitSize, tool.HeapCommitSize );    if ( tool.HeapReserveSize != -1 )			    strm << LPair( _HeapReserveSize, tool.HeapReserveSize );    strm << TPair( _IgnoreAllDefaultLibraries, tool.IgnoreAllDefaultLibraries );    strm << XPair( _IgnoreDefaultLibraryNames, tool.IgnoreDefaultLibraryNames );    strm << TPair( _IgnoreEmbeddedIDL, tool.IgnoreEmbeddedIDL );    strm << TPair( _IgnoreImportLibrary, tool.IgnoreImportLibrary );    strm << SPair( _ImportLibrary, tool.ImportLibrary );    if ( tool.LargeAddressAware != addrAwareDefault )	    strm << EPair( _LargeAddressAware, tool.LargeAddressAware );    strm << TPair( _LinkDLL, tool.LinkDLL );    if ( tool.LinkIncremental != linkIncrementalDefault )   strm << EPair( _LinkIncremental, tool.LinkIncremental );    strm << TPair( _LinkTimeCodeGeneration, tool.LinkTimeCodeGeneration );    strm << SPair( _LinkToManagedResourceFile, tool.LinkToManagedResourceFile );    strm << TPair( _MapExports, tool.MapExports );    strm << SPair( _MapFileName, tool.MapFileName );    strm << TPair( _MapLines, tool.MapLines );    strm << SPair( _MergedIDLBaseFileName, tool.MergedIDLBaseFileName );    strm << SPair( _MergeSections, tool.MergeSections );    strm << SPair( _MidlCommandFile, tool.MidlCommandFile );    strm << SPair( _ModuleDefinitionFile, tool.ModuleDefinitionFile );    if ( tool.OptimizeForWindows98 != optWin98Default )	    strm << EPair( _OptimizeForWindows98, tool.OptimizeForWindows98 );    if ( tool.OptimizeReferences != optReferencesDefault )  strm << EPair( _OptimizeReferences, tool.OptimizeReferences );    strm << SPair( _OutputFile, tool.OutputFile );    strm << SPair( _ProgramDatabaseFile, tool.ProgramDatabaseFile );    strm << TPair( _RegisterOutput, tool.RegisterOutput );    strm << TPair( _ResourceOnlyDLL, tool.ResourceOnlyDLL );    strm << TPair( _SetChecksum, tool.SetChecksum );    if ( tool.ShowProgress != linkProgressNotSet )	    strm << EPair( _ShowProgress, tool.ShowProgress );    if ( tool.StackCommitSize != -1 )			    strm << LPair( _StackCommitSize, tool.StackCommitSize );    if ( tool.StackReserveSize != -1 )			    strm << LPair( _StackReserveSize, tool.StackReserveSize );    strm << SPair( _StripPrivateSymbols, tool.StripPrivateSymbols );    strm << EPair( _SubSystem, tool.SubSystem );    strm << TPair( _SupportUnloadOfDelayLoadedDLL, tool.SupportUnloadOfDelayLoadedDLL );    strm << TPair( _SuppressStartupBanner, tool.SuppressStartupBanner );    strm << TPair( _SwapRunFromCD, tool.SwapRunFromCD );    strm << TPair( _SwapRunFromNet, tool.SwapRunFromNet );    if ( tool.TargetMachine != machineNotSet )		    strm << EPair( _TargetMachine, tool.TargetMachine );    if ( tool.TerminalServerAware != termSvrAwareDefault )  strm << EPair( _TerminalServerAware, tool.TerminalServerAware );    strm << TPair( _TurnOffAssemblyGeneration, tool.TurnOffAssemblyGeneration );    strm << SPair( _TypeLibraryFile, tool.TypeLibraryFile );    if ( tool.TypeLibraryResourceID != rcUseDefault ) strm << LPair( _TypeLibraryResourceID, tool.TypeLibraryResourceID );    strm << SPair( _Version4, tool.Version );    strm << "/>";    return strm;}// Hashing routine to do fast option lookups ----// Slightly rewritten to stop on ':' ',' and '\0'// Original routine in qtranslator.cpp ----------static uint elfHash( const char* name ){    const uchar *k;    uint h = 0;    uint g;    if ( name ) {	k = (const uchar *) name;	while ( (*k) &&		(*k)!= ':' &&		(*k)!=',' &&		(*k)!=' ' ) {	    h = ( h << 4 ) + *k++;	    if ( (g = (h & 0xf0000000)) != 0 )		h ^= g >> 24;	    h &= ~g;	}    }

⌨️ 快捷键说明

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