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
Is there anywhere I can get pre-compiled BLAS and LAPACK binaries for Windows in OMF object format? I want to link some D language code to these. I'm aware of where I can get the relevant libs in COFF format. I'm also aware of the objconv tool, which converts COFF to OMF, though this doesn't seem to work in practice for reasons I don't fully understand. These seem to be related to underscores in symbols, though I tried just about every setting for dealing with these and none seem to work.
Alternatively, does anyone know how to convert the reference binaries to OMF such that they'll actually link properly to DMD-compiled code? As a last resort, does anyone know how to get CLAPACK, CBLAS and F2CLIB to build with DMC? The build process that comes with these seems entirely geared towards the GCC toolchain.
"...seams entirely geared towards the GCC toolchain."
That is an understatemant. Blas is highly "optimized" to complile under one, specific, version of gcc, 2.4.3??.
It would, perhaps, be possible , starting with the un-optimized version of the source, to compile with the OpenWatcom toolchain, so as to generate 32 bit OMF but, I fear, much foo would be involved and the result would be dead slow code.
Related
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 wrote a program that opens the exe files. I want that program to read some specific assembly instructions with their addresses in an exe file. for example JAM or Call.
so, what API functions should I use. if you know any other sources that can be useful tell me ;)
If you want to read code in a Windows PE file (Portable Executable) you will first have to find the code section.
How to find this depends whether the exe is a 32-bit or 64-bit one (although they're pretty much the same for their internal structure), but I recommend you studying the PE format: http://msdn.microsoft.com/en-us/magazine/cc301805.aspx
After that you will have to find the address in which your call code or whatever you want resides. What do you want to do with that binary code is up to you, if you intend to translate it into asm human-readable code you will need a translator (or code one up by yourself... pretty hard for a beginner) such as distorm (GPL and commercial license).
I hope this got you started to what you want to do.
A very good start will be to use a disassembly library, Capstone is one of them for example but more exists.
Then you will need to parse the PE executable format to extract the code to send to your disassembly library...
But in that domain libraries also exists, for example radare supporting most architectures and format (And it can be used with multiple disassembly libraries, including Capstone)
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 wonder, what library you would choose for the following:
I need to be able to combine a bunch of files and folders (a tree of filesystem structure) into one file - archive, thus having one composite file.
the library must be cross-platform: Windows 7 and Linux
it must provide access to the content and ability to extract only one file (e.g. if I have an archive of data folder and if I need only data/subdata/file, only it should be extracted)
it must have C++ (preferably) or C API
I am not particularly keen on archiving, but it would be desirable, since I will be storing mostly text files and they compress well...
Any feedback is highly appreciated!
zlib in combination with Boost Iostreams is a great combination. This does not do file level extraction though.
EDIT:
Some other options I found via another SO question include:
Zipios++
QuaZIP - Requires QT, may not build on Windows
correctly
EDIT2:
Minizip (usually included with zlib) will do the trick too - probably the most lightweight and commonly used solution.
Consider libarchive.
http://gnuwin32.sourceforge.net/packages/libarchive.htm
zlib is probably the safe answer.
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.
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.