The interfacing from C to Ada section should talk about adainit and adafinal
Nobody has claimed this yet.
- Dominant language
- Ada
- Stars
- 117
- Forks
- 49
- Avg merge
- 44m
- Merged PRs (30d)
- 8
Description
Recently we've had the scenario of an AdaCore engineer (relatively new to Ada) trying to invoke an Ada library from a C main and the engineer couldn't figure out why there was uninitialised data. For anyone new to Ada the concept of elaboration and the runtime mechanics of how it actually works (the encapsulation of the calls makes it appear to just happen by magic!) can be non-intuitive. It feels to me like something that could also cause external engineers to trip up and therefore should be included in basic tutorials, or at least mentioned with a reference to the relevant section on an advanced course.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the “Calling Ada subprograms in C” section of the linked intro-to-Ada course page. Explain where adainit and adafinal fit into initialization and finalization, and include a reference to the relevant advanced-course material; the section should leave C callers aware of the required runtime calls.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100