[docs] Improve 'Finding System Headers' examples for C++
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 52/100
- Issue type
- Documentation
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- documentation
Research direction
Start with the Importing Type Information page at the linked Import Header File and Finding System Headers sections. Add the C++ mode example and corresponding gcc and clang header-search commands, and move or repeat the relevant guidance in a general section where appropriate. Done means the documentation clearly covers both C and C++ usage, including the existing Windows context.
Written by the indexing model from the issue text.
Description
Is this a general concept that needs to be documented or a specific API?
General
What concept or API needs more documentation?
In the 'Importing Type Information' docs:
The 'Import Header File' section mentions:
-x c -std=c99to specify C99 mode
It might also be useful to include something for C++ mode such as:
-x c++ -std=c++14to specify C++14 mode
Then in the 'Finding System Headers' section it provides commands for listing the system paths, but these seem to be specifically for C:
gcc -Wp,-v -E -
clang -Wp,-v -E -
It might be useful to also explicitly mention how to do the same for C++ here as well:
gcc -Wp,-v -x c++ -E -
clang -Wp,-v -x c++ -E -
The only section that seems to currently explicitly mention anything about C++ is in the Windows section:
You also want to include
-x c -std=c99since Windows headers include lots of C++ types that the type importer currently does not support.
It might be useful to have this information somewhere 'higher up' in a more 'general' section, as it was only by accident that I noticed this (since I am working on a macOS binary)
Is this documentation related to a specific API?
N/A
Are there any known examples of people using this API/concept?
This tweet thread has some context where I was originally asking how to make it work, and then eventually figured out a way to do so:
Semi-related:
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Contributor guide
No contributing guide indexed for this repository
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.
More from Vector35/binaryninja-api
-
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
Vector35/binaryninja-api#8540 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Vector35/binaryninja-api#8516 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Vector35/binaryninja-api#8503 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Vector35/binaryninja-api#8446 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Vector35/binaryninja-api#8444 ·
All issues in Vector35/binaryninja-api
Similar issues
-
Website Doc Typo Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
Difficulty 1/5 1-3 hours Newbie friendliness 92/100
autowarefoundation/autoware_universe#13413 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
automated-analysis bug memory-safety
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100