Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I has been a C++ and Python developer for a looong time, and after this many years the place I feel most comfortable for developing is the old good gvim and the command line. I was wondering if there is some sort of tool for setting up projects quickly. Something like generating a bunch of files where a few things can change their values: the project name for example.
There are many tools like this. Cookiecutter is written in Python, and it has project templates for many languages and frameworks.
I would suspect that most modern Integrated Development Environments would support something like this.
Why don't you write your own tool with some scripting language?
I have done it by tailoring GNU makefiles trying to push most of the logic outside of the project. Then have a small script that generates directories and writes simple makefiles that set a couple of variables and then includes the pre-generated makefiles.
You might want to consider instead of producing makefiles directly, generating files for other intermediate system like CMake or SCONS, as those will be able to abstract the differences from one system to another.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I want to write a program that runs before Visual Studio compiles my project.
It needs to extract only the types, names and parameters of all functions, classes, structs, enums my project is using from files in a specific folder (/sdk) and copy those into a new folder (/sdkmin)
So I basically want to have a program that minifies the sdk my project is using.
Is there any decent library that allows me to do that without having to write my own parser/lexer/whatever?
I think what you should do is look at some clang tools like "clang-format", "include-what-you-use", etc., which build on the clang AST front-end stuff to do various interesting things. This will provide the lexer and parser for you, which would indeed take a very long time if you started from scratch.
Github mirror here: https://github.com/llvm-mirror/clang
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I am porting a large, messy, 10 year old cold base in C++ from Metrowerks on OS X to XCode. There are so many files and all the other people that touched this over the years are gone. Nobody know what files are actually needed and which are just cruft.
Is there any tool that I could run and have it produce a list of what files are ACTUALLY needed?
You could run doxygen on your project and have it generate inheritance diagrams for your classes. It can also generate caller graphs to help you find dead code.
You can try searching this static code analyzer list in Wikipedia. The ones that I've seen in actions would be cppdep and Include Hierarchy Viewer, although the first one is a little rough and the latter is a Windows analyzer only for the include tree. Also that still might not give you all the info if the dependencies are not explicit.
Edit: Also, the following StackOverflow search query seems to have results that might interest you:
https://stackoverflow.com/search?q=c%2B%2B+dependency
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Possible duplicate
What is the best open source example of a lightweight
Windows Application?
µTorrent is a small bit-torrent client, a really small one. It doesn't come with an installer, just a exe, you drop in your PATH somewhere. It's super lightweight and yet feature rich. Plus it is the work of one man. It's also closed-source.
Many people have been curious about how it has been written, and there are hints here and there about a custom library etc. But the question is, are there any programs with attributes like µTorrent that are available with source code--attributes like speed, small size, awesomeness.
Possible related question (/questions/9603/what-is-some-great-source-code-to-read), but think smaller than something like the Linux kernel.
Clarification: I don't want examples of bit-torrent source code, but anything which is used by tons of people (validation of awesomeness) and also fast, small and awesome!
I think you should take a look at Notepad++ if you want to see a feature-rich low-consumption of power software :)
Netcat
It's the program that started all of the curiousity behind networks and how things WORK.
Everyone's looked at this source code.
rTorrent is a lightweight, feature-rich, console-only open-source torrent client.
I like Frhed, a simple open-source Windows hex editor.
FRESHMEAT is a great place to start. There are lots of small open source programs available that you can study.
Examples:
XML-RPC specification.C implementation for Python. Its easy to learn and its fun.
Heapq [\Lib\heapq.py] , xml-rpc [\Lib\xmlrpc] and lots of other codes in Python library are very well written.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I have a old windows application written in borland C++ 5.0. this uses the OWL library very much in it's code. this has to be ported to Visual studio 2005/2008 (C++ or C#). search in google shows lot of links but nothing quite concrete or useful. can anyone show the correct direction to start this? also share any pitfalls or best practices?
this is going to be a painful process to do. you may end up re-writing the entire application. before that consider OWLNext in sourceforge.
PS: I don't have any experience in doing this.
if you do not want to rewrite the entire application, your best bet is to migrate to OWLNext
(http://owlnext.sourceforge.net/).
First step will be to still use Borland C++ 5.0x, but upgrade the project to use OWLNext instead of the old OWL libraries.
After that, you can create a new VC++ project, add your sources there, build OWLNext for VC++ and start using it for further development.
Jogy
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have a large 95% C, 5% C++ Win32 code base that I am trying to grok.
What modern tools are available for generating call-graph diagrams for C or C++ projects?
Have you tried doxygen and codeviz ?
Doxygen is normally used as a documentation tool, but it can generate call graphs for you with the CALL_GRAPH/CALLER_GRAPH options turned on.
Wikipedia lists a bunch of other options that you can try.
Have you tried SourceInsight's call graph feature?
http://www.sourceinsight.com/docs35/ae1144092.htm
Good old cflow works fine for C. See here for an implementation.
Any decent static analysis tool should have this functionality (as well as all the other stuff that such tools do). Wikipedia has a good list of such tools.
Another group of tools that may be worth checking out are coverage tools. The call graph generated by the coverage tool will contain only the calls that actually take place during a run of the program. Initially this may be more helpful to you than a full call graph. I'm unable to make any suggestions on this for Windows, but for linux projects I highly recommend gcov and lcov.