Erstmal:
Code:
int const i = inIDocCount; // konstant deklarieren
Guck mal ob das was ändert. Sollte zwar nicht, aber ist ohnehin die bessere Vorgehensweise.
Ansonsten sehe ich, daß die
DLL eine .NET-Assembly ist. Hmm. Aber sollte nix ausmachen. Aber dennoch, warum? Der Code ist doch reines C++, warum als managed Kompilieren? Wo ist da der Vorteil für dich?
Und vor allem ist für mich nicht ersichtlich wo das passieren woll, was du sagst:
Code:
.method assembly static modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) int32 AssignDocuments(modopt([mscorlib]System.Runtime.CompilerServices.IsConst) modopt([mscorlib]System.Runtime.CompilerServices.IsConst) modopt([mscorlib]System.Runtime.CompilerServices.IsSignUnspecifiedByte) int8** inArrFilenames, int32 inIDocCount)
{
.maxstack 4
.locals (valuetype <CppImplementationDetails>.$ArrayType$$$BY0GE@_W V0,
valuetype <CppImplementationDetails>.$ArrayType$$$BY0GE@_W V1)
ldloca.s 1
ldsflda modopt([mscorlib]System.Runtime.CompilerServices.IsConst) valuetype <CppImplementationDetails>.$ArrayType$$$BY0BB@$$CB_W ??_C@_1CC@JEIJDBMP@?$AAi?$AAn?$AAI?$AAD?$AAo?$AAc?$AAC?$AAo?$AAu?$AAn?$AAt?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd?$AA?$AA@
ldarg.1
call modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) int32 _swprintf(char*, modopt([mscorlib]System.Runtime.CompilerServices.IsConst) char*, int32)
pop
ldloca.s 0
ldsflda modopt([mscorlib]System.Runtime.CompilerServices.IsConst) valuetype <CppImplementationDetails>.$ArrayType$$$BY0O@$$CB_W ??_C@_1BM@LPOBPDGL@?$AAi?$AA?5?$AAi?$AAn?$AA?5?$AAC?$AA?$CL?$AA?$CL?$AA?5?$AA?$DN?$AA?5?$AA?$CF?$AAd?$AA?$AA@
ldarg.1
call modopt([mscorlib]System.Runtime.CompilerServices.CallConvCdecl) int32 _swprintf(char*, modopt([mscorlib]System.Runtime.CompilerServices.IsConst) char*, int32)
pop
ldc.i4.0
ldloca.s 1
ldloca.s 0
ldc.i4.0
call T0x6000055
pop
ldarg.1
ret
}