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 wonder is there a way or a tool to manage central build efficiently? I'm currently working on the task of improving the building process for our project. The task has two goals,
Speed up the building (it takes 12 hours to build the whole stuff right now)
Find a way to manage project's dependencies automatically (we use a master .cmd script to build all of the projects in the given order)
We have C++, Java, C# projects (70%,20%,10%). Most of them are built on Windows while rest of them are on Linux. The build script contains ant, msbuild call in everywhere.
A little bit mass, right? Any ideas?
Thanks, Miles
I assume you have a source code repository on a build server? If not you might want to think about migrating your source repositories to a dedicated server. From there you can use either either MS build or ant to defined builds that are triggered when code is checked in. This will allow you to commit everything and get a nasty email if your code broke the build. Just kidding, but you will get messages stating that you broke the build. I have used Team City and Cruise Control with very good success. I don't remember a build taking 12 hrs. that may be the cpp files being made...who knows. Team City is very clean and leaves a zipped artifact file for each project build that on a given date that could be deployed for testing and so on. Perhaps you have a mammoth c++ projects in which case you may want to break it up into buildable chunk.
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 2 years ago.
Improve this question
I am an embedded engineer writing programs in C. We have started a big project in C++, including FreeRTOS, touch display functionality and more. The problem is that the compile time is large (almost 1 minute), even though we are in the initial project stages. We would like to reduce that time.
From my search, I found out that a build server could be installed with Continue Integration tools, in order to reduce that time. I saw that SVN from Apache was a very popular result in my google search, but the thing is we are using Git. So I found out about Jenkins but it has many capabilities (pipeline, testing etc) that even though they are really cool, I don't need them right now. For the time being I am looking only to reduce the compile time.
Is there any simpler tool to use in order to achieve this? Please have in mind that I am not a PC software or a server guy, so some things are more difficult for me to understand, search and study, (thankfully I have an IT to support me) but I have the good will to dig in if someone with previous experience will point me to a right direction.
Thanks in advance.
Most large projects run a nightly full build and unit test to identify problems created by new changes. Jenkins is a good tool to use for that.
To reduce time to build in your local workspace you need a good makefile that only rebuilds the files that have changed or which include changed header files.
You do not need the build server. Developers work on their desks, compiling, flashing and debugging - semetimes soldering experimentig etc etc. The idea is a complete nonsense.
IAR IDE is very slow comparing to other similar systems. If you have many files in your project checking dependencies (if you have changed one file only may take ages). IAR to gcc/make (from my experience) build time is about 10:1, single file change (many thousands files in the project) 30:1. IMO you should reconsider the chosen toolchain.
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
Sometimes it happens that your distributed application crashes on customer machines. What you obtain as an info from the customer is that the application simply crashed "doing something": no way to understand where the bug was in your code. Is there a library/add-on to be linked to your application that can create a backtrace file/crash dump report so that it could be sent by the customer to better understand what you normally see in the Visual Studio call stack helping understanding where the bug is?
see google: https://code.google.com/p/google-breakpad/
Description from the website:
Breakpad is a library and tool suite that allows you to distribute an application to users with compiler-provided debugging information removed, record crashes in compact "minidump" files, send them back to your server, and produce C and C++ stack traces from these minidumps. Breakpad can also write minidumps on request for programs that have not crashed.
https://code.google.com/p/google-breakpad/wiki/GettingStartedWithBreakpad
There are a few third party solutions available that provide a library of functions to trap crash data. A simple google search should suffice. However, depending on your budget, the easiest solution is to create a Microsoft WER account. WER has advantages over the other solutions because it is part of the OS and it exposes several functions that allow you to tailor the crash data collection.
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 8 years ago.
Improve this question
I have tried Umbrello and ArgoUML; and both are unable to generate code from an existing c++ codebase. Though they have limited capabilities in these areas, they both fail spectacularly importing a file with std, boost, SDL and local includes. Is there anything in the FOSS world that will model reasonably complex c++ code. The UML part is optional, generating coherent and accurate visualizations of the code is what matters.
Note: Tools like gprof2dot as well as doxygen can process the source, but their output is so complex as to be equivalently difficult to grasp as the original code.
Note2: Since one cannot ask about tools on SO anymore, let me rephrase the question like this:
How, given a large, old, complex and crufty c++ code base, can one quickly and efficiently perform major refactorings. By major, I mean things like:
extracting entire structs/enums/classes from an existing source/header pair into their own files
adding/deleting namespaces
changing function signatures
etc.
Some things are approachable with grep and sed; however, discovering and managing include dependencies can be overwhelming. I'm currently stuck with the "change-and-fix" method -- try refactoring something and iteratively build and fix errors as the compiler point them out. For widely used objects, this is slow. What is the proper approach?
I used Doxygen for this on a couple of projects.
It wasn't great but it was better than starting from scratch.
This paper from 2005 describes the pilfer tool, which is now included within the srctools project. It's available under a GNU General Public License.
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 8 years ago.
Improve this question
I want to make an application that has (preferably native) versions for multiple platforms (Windows, Mac, maybe Linux, iOS). By native I mean versions made independently with native tools (Visual Studio and maybe C# on Windows, Xcode and maybe Objective-C on Mac). I want that application to have cloud-stored user-based structural data (not much; maybe XML-based? I want to minimize the server-side part, because I'm not comfortable with it) so it would be an advantage if it could be easily accessible from different network libraries. I don't need any server-side data processing. I don't want to have to learn (I don't understand well any) any web technologies; I would simply need an interface for creating and managing users and data client-side using desktop programming languages and tools.
If I were only targeting Apple platforms, iCloud would be an option.
The best I've found is Appcelerator Cloud Services (http://www.appcelerator.com/cloud), but I'm looking for other solutions.
I have virtually no budget for the project; I'm a high-school student doing programming for fun and in order not to remain idle.
What are my options?
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 8 years ago.
Improve this question
Well, altough the S of the SNMP stands for Simple, yet, so far I haven't experienced it that way. And now that I am about to deploy my software on around around 180 remote Linux servers and wants to monitor the servers and configure my daemons all from a centralized point.
I simply want you to recommend me the library which you'll confidently describe as "SNMP Made Easy".
I am looking for a suite of software which not standing in the developer's way, easy to work with (install, configure).
Speaking from the NOC perspective, the ideal would be such one which requires no maintenance once installed.
Note: Open Source is mandatory.
I wouldn't describe it as easy, but the easiest I've found (quite a while ago) was pysnmp -- I had to wrap it with a couple of façades to make it somewhat usable by people who weren't deep SNMP experts (and that code I had to leave behind at a previous employer, was never open-sourced, and I couldn't reconstruct it right now but would have to develop again from scratch). However, so many years have passed (with PySNMP in continuous development, now with a PSF grant too) that it may definitely have gotten better (one can hope;-).
Try Net-SNMP . It has BSD licence. If you are open for java snmp4j is the best.
I am still searching for that easy to use suite of SNMP tools/API myself.
I build OA&M and I've tried NET-SNMP, Windows SNMP and lately agentpp (www.agentpp.com).
Personally, I preferred the agentpp.
Good luck to you.
The "S" in SNMP is actually for "simple" not because using it is simple, but rather because the protocol (on the wire) is designed to be simple and easy to implement. And it is. Now... actually implementing it and then using it is where the S completely drops away.