Creating an .Obj File
-
Hi, I have Binary Data to be included in a DLL. The Tool I have developed to generate this data, currently creates a BYTE array in a CPP File. This File is subsequently compiled into an .obj File as part of the project, and linked in the normal way with the linker. The next step forward would be to have the Tool produce an obj file in the first place. Anyone any ideas how to do this? Microsoft maintains that .obj files are standard COFF Files. I know from experience that this is not strictly the case. In any case there is very little documentation about the further details, such as identification of sections of the Obj File, etc. I would need to produce a File that meets the minimum MS Linking Spec. There is only One 'C' linkable variable, the name of the array. Has anyone any ideas? Regards :)
Bram van Kampen
-
Hi, I have Binary Data to be included in a DLL. The Tool I have developed to generate this data, currently creates a BYTE array in a CPP File. This File is subsequently compiled into an .obj File as part of the project, and linked in the normal way with the linker. The next step forward would be to have the Tool produce an obj file in the first place. Anyone any ideas how to do this? Microsoft maintains that .obj files are standard COFF Files. I know from experience that this is not strictly the case. In any case there is very little documentation about the further details, such as identification of sections of the Obj File, etc. I would need to produce a File that meets the minimum MS Linking Spec. There is only One 'C' linkable variable, the name of the array. Has anyone any ideas? Regards :)
Bram van Kampen
Hi, Adding the file as a custom resource and then using FindResource set of api's to access it, does not fit your needs? Regards, Mauro.
-
Hi, I have Binary Data to be included in a DLL. The Tool I have developed to generate this data, currently creates a BYTE array in a CPP File. This File is subsequently compiled into an .obj File as part of the project, and linked in the normal way with the linker. The next step forward would be to have the Tool produce an obj file in the first place. Anyone any ideas how to do this? Microsoft maintains that .obj files are standard COFF Files. I know from experience that this is not strictly the case. In any case there is very little documentation about the further details, such as identification of sections of the Obj File, etc. I would need to produce a File that meets the minimum MS Linking Spec. There is only One 'C' linkable variable, the name of the array. Has anyone any ideas? Regards :)
Bram van Kampen
-
Hi, I have Binary Data to be included in a DLL. The Tool I have developed to generate this data, currently creates a BYTE array in a CPP File. This File is subsequently compiled into an .obj File as part of the project, and linked in the normal way with the linker. The next step forward would be to have the Tool produce an obj file in the first place. Anyone any ideas how to do this? Microsoft maintains that .obj files are standard COFF Files. I know from experience that this is not strictly the case. In any case there is very little documentation about the further details, such as identification of sections of the Obj File, etc. I would need to produce a File that meets the minimum MS Linking Spec. There is only One 'C' linkable variable, the name of the array. Has anyone any ideas? Regards :)
Bram van Kampen
The format MS uses is standard indeeded, it is named PE (portable executable), and you can get whole documentation here[^]. It is made public to avoid penalties from antitrust because, if hided, it could be seen as an abuse. It is based on COFF, and its almost the same, apart from the interpretation of location offsets that are different. You can create a PE object header, include your data in an initialized data section and create a symbbol in relocation.. :laugh: But if only need to access that data in the DLL the really easy solution is, as they already told you, to create a resource and use it.