Toon posts:

[C] .o file en .map file; zelf header maken oid?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een .o die ik wil linken in mijn project. Ik moet in mijn project functies mappen die 'in die .o' zitten.

Normaal gesproken zou je dan de header includen en zo verder gaan werken, ik heb van deze .o echter geen header, wel een .map file. (linkable address map).

Nu vraag ik mij alleen hoe ik die moet gebruiken.. iemand hier ervaring mee?

Ik heb wel de prototypes etc. van de functies, is gewoon zelf een header samenstellen ook een optie? Ik heb uiteindelijk functiepointers nodig naar de bewuste functies..

[ Voor 19% gewijzigd door Verwijderd op 19-03-2009 09:48 ]


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21-09 21:47

Creepy

Tactical Espionage Splatterer

Je kan prima zelf de header maken met de prototypes van de functies. In je header geef je alleen maar aan dat er zo'n functie is. De linker zoekt zelf wel uit waar die functies zijn (mits je de jusite object file meelinkt natuurlijk)
Edit: lekker wakker, je hebt geen object file blijkbaar.... kan je de lib niet meelinken?

[ Voor 16% gewijzigd door Creepy op 19-03-2009 10:20 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb wel de object file, dus dat gaat werken.. ik wist niet zeker of je zelf een header kunt toevoegen en aangezien debuggen bij dit project niet gaat, wilde ik wat uitsluiten..

beginnersvraagje dus, thx voor het antwoord :P

Acties:
  • 0 Henk 'm!

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 15-07 15:35

leuk_he

1. Controleer de kabel!

ja, dat kan dus.

Verder kan nm je helpen?

@creepy, een lib en een .o file zijn in elkaar om te zetten toch? een lib is niks meer dan een verzameling .o file? of mis ik iets?

[ Voor 46% gewijzigd door leuk_he op 19-03-2009 11:40 ]

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Toch heb ik een vraag. De .o heeft een sectie 'ramDataCl'.

Nu staat in de documentatie bij het geheel:

Cleared data zone size: this data must contain the size of ramDataCl zone. This data is normally computed in link directives file with 'l_size_cl1 = SIZEOF(ramDataCl);'' command. But this command must be made at final executable link. This data is used in the configuration table to determine the size of zone to be cleared when requested.

Wat ik nu begrijp is dat ik op een of andere manier tijdens het linken de grootte van een sectie moet achterhalen en dat in een variabele moet stoppen.. maar geen idee hoe dat te doen. Iemand suggesties?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-09 16:37

.oisyn

Moderator Devschuur®

Demotivational Speaker

Met een ld link script waarschijnlijk

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 22-09 23:05
Verwijderd schreef op donderdag 19 maart 2009 @ 09:32:
Ik heb wel de prototypes etc. van de functies, is gewoon zelf een header samenstellen ook een optie? Ik heb uiteindelijk functiepointers nodig naar de bewuste functies..
Een header maken lijkt mij zelfs de énige optie. Als je de functie prototypes (incl. eventueel calling conventions) hebt scheelt dat, maar dan moet je ook nog de layout van alle (externe) datastructuren uitzoeken. Je houdt dan natuurlijk geen "functiepointers" over, maar gewoon referenties naar ongedefinieerde functies die de linker vervolgens wel kan resolven.
De .o heeft een sectie 'ramDataCl'.
[..]Cleared data zone size: this data must contain the size of ramDataCl zone. This data is normally computed in link directives file with 'l_size_cl1 = SIZEOF(ramDataCl);'' command. But this command must be made at final executable link.
Dit zegt mij zo niets. Wat gebeurt er als je de object file gewoon meelinkt (zonder verder enige functies te callen); werkt dat dan? Zo niet, wat voor foutmelding geeft de linker dan?

(Misschien dat die .map file de nodige informatie bevat...)
Pagina: 1