A C++ source code analyzer [closed] - c++

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Could you suggest some open source tools that analyze C++ code and checks the following rules:
naming conventions,
file inclusions,
function design,
data types,
flow control,
memory allocation,
file handling,
portable code,
runs under Solaris or SUSE

http://www.google.com/search?q=misra+checker
Of course, if the rules you're trying to enforce don't exactly match someone else's idea of a coding standard, no existing tool is going to work.

It is still in early development (especially for C++) but its improving rapidly and is a really interesting open source project in a vibrant community. So see if the CLang Static Analyzer does what you need.

I have used coverity (http://coverity.com/)in my organization. It does static bug check analysis and I found it to be very useful. It is highly customization and provides a number of checks. I am not entirely sure if it works on solaris or not but I would recommend checking it out.

Related

How to find compiler implementation details? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
It is well known that switch-case constructs can provide better code performance than if-else constructs due to implementation in the form of jump-tables,etc. You can know this only when you know how the compiler implements switch-case. So my question is that how do you get to know how a compiler, for example, Microsoft C++ Compiler or g++, implements a feature? Is there some standard literature available on these topics with respect to common compilers?
It is not very useful to get information on how will a compiler implement a feature because the compiler runs multiple steps, each will modify the compiled result.
As an example:
A first step build up a meta language, a second step do a first optimization, next step maybe inline some code, next step...
So you can't get any idea of the code which will be created. So only chance you have: Try it out!
For your example of a switch/case it is important if
the case patterns are linear
the code inside the pattern is used once or multiple
the code return or modify variables or only call other functions
4 ... tons of other dependencies!
Forget about prediction of optimizer results.
For gcc you have the source, look inside :-)

Annotating C/C++ code [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Recently I got a grasp of Microsoft's Standard Annotation Language (SAL) for annotating C/C++ source codes. This feature can be very helpful for debugging and during development but unfortunately it is not a portable cross-platform library. Is there any standard or open-source tool for annotating C/C++ codes? Is there a similar feature available in gcc?
The closest that I'm aware is GCC's attributes, but other compilers don't support the syntax. GCC attribute syntax does not support as many annotations as SAL, but you may find some of the annotations useful.
Alternatively, if you're using templates, you may want to check out Boost Static Assert, which most compilers support.
Also note that CLANG supports more annotations than GCC, and using CLANG's static analyzer may be closer to what you're wanting.

Web development software [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Except from HTMLpad and Dreamweaver, what software is best to use when developing websites? I tried to find the one that code academy uses, but unfortunately, i cannot find something like that. I would like to have something which automatically indents and that it automatically tells you if there is something wrong.
Aptana Studio 3 is a useful IDE (Integrated Development Environment) based off of Eclipse to use.
http://www.aptana.com/
If you are into paid IDE's then WebStorm/PhpStorm/RubyMine may not be a bad choice, especially if you also work with Android Studio or IntelliJ IDEA
http://www.jetbrains.com/webstorm/
These may catch syntax errors and help you with formatting, but as with most IDE's it won't catch any logic errors.
I personally use Sublime Text as it handles formatting and does not carry any extra bloat as HTML/CSS and JavaScript are relatively simple languages. It does not do error checking.

Is there kind of runtime C++ assembler library around? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
For my small hobby project I need to emit machine code from C++ program in runtime. I have base address 0xDEADBEEF and want to write something like this:
Assembler a((void*)0xDEADBEEF);
a.Emit() <<
Push(Reg::Eax) <<
Push(Reg::Ebx) <<
Jmp(0xFEFEFEFE);
Inline assembler isn't my choice because generated machine code is dependent of the program state.
Does anybody know any existing library for doing this? If no, would it be a good idea to develop one from scratch and make it open source? (I mean, will anybody ever use this library if it existed?)
Check out Asmjit. It seems to be the thing you're looking for.
You could use Nicolas Capen's softwire. Its really not supported any more as he now works on a similar product at Transgaming called SoftAsm. Still it kinda does what you want.
Edit June 2014: - It appears the sourceforge link above has been removed but it appears to be available under an LGPL license here.
This might be a overkill, because it supports many platforms, has its own intermediate language, does optimizations, etc, but the http://llvm.org/ seems to be a god try.

Can anyone recommend a concurrent, real-time diagramming/flowchart collaboration tool? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I'm looking to work with others to quickly build a rather large class flow diagram that may or may not be strict UML. Can anyone recommend a networked, concurrent collaboration tool for such a task? Price is not an issue, but the target system must be Windows.
Surely someone must have done something like this in the past.
Any ideas?
DabbleBoard has an online diagramming tool that may do what you want. It should work on Windows, although it is a web-based and fairly low-level.
I don't know exactly how concurrent you need it, but Google Docs have just introduced a 'drawing' document type, which is basically a stencil based system like visio. It includes flowchart elements, and of course can be shared.