I have been recently learning multi-threaded algorithms from Introduction to Algorithms (by Cormen, Rivest), third edition. And the preface of the book inspired me to use Cilk Plus extension for the same developed by MIT. However, I have not been able to get any article online to integrate it with my CodeBlocks IDE for utilization. Is there any set of commands to declare linker settings for the same?
Contents of the Folder C:\Programs(x86)\Intel\CilkTools
bin : contains ia32, intel64 folders (containing dlls) + other dlls and exe
doc : an html page and a jpg document
include : has CilkTools which has four .h files : cilkscreen.h, cilkveiw.h, fake_mutex.h, and lock_guard.h
opensrc : has a zip file (ZedGraph, open source graphing package)
visual studio and example files
You're confusing the compiler with the Cilk tools. First you'll need to install Intel C++ Composer and integrate that into your IDE. The Wikipedia article I found on Code Blocks claims that should work, but I don't know the details.
Then you'll want to install the Intel Cilk Plus SDK which provides you the Cilkscreen race detector and the Cilkview scalability analyzer. The Cilk tools come with an addin to integrate into Visual Studio, but you'll have to use the command line with other IDEs. The major benefit of the addin is being able to click on a callstack entry and go to that line in the Visual Studio editor. But the text version of the report is easy enough to read.
Don't ask why the names are so confusing. We (the development team) were not allowed to choose the names.
- Barry Tannenbaum
Intel Cilk Plus Development
Related
I want to make my NSIS code more readable.
I need some guidelines regarding writing code section wise (like there is #region #endregion in C#) or any such information that can make writing NSIS code interesting and easy.
Please help me out.
Also there is Visual Studio (2008, 2008, 2010 and 2012) addin available called Visual & Installer.
It offers a lot of features like syntax highlighting, navigation, (GoTo definition, Goto reference, navigation bars, open file at cursor, ...) also IntelliSense support and much more.
Try here: http://www.unsigned-softworks.sk/visual-installer/
If you are looking for an IDE, you can try with SciTE that supports code folding, colorization, makensis compilation from the editor and compilation errors parsing. (BTW: Scite is not actually an IDE, but rather a very light yet powerful text editor with built-in support for colorizing and compiling programming languages)
With the latest versions of SciTE, you just need to uncomment the loading of NSIS support that is not enabled by default.
Also, there is the Development Environments section of the NSIS wiki that can point you some alternatives (like adding NSIS support to Eclipse).
I would expect the mfc to refer to the Microsoft Foundation Classes, but this still leaves the following questions:
What does the s stand for?
What does the 90 mean?
These MFC link libraries are lightly documented by Microsoft's TN033 Tech Note: http://msdn.microsoft.com/en-us/library/hw85e4bb.aspx
A quick summary about the mfcsxxx.lib files is: The MFCSxx[U][D].LIB libraries are used in conjunction with the MFC shared DLLs. These libraries contain code that must be statically linked to the application or DLL.
The "U" designates that the library is built for Unicode.
The "D" designates that the library is built for Debug.
If the number in the library is 90, then it's compiled with and for Visual Studio 2008 (VC++ 9.0)
If the number in the library is 100, then it's compiled with and for Visual Studio 2010 (VC++ 10.0)
Note that while the mfcsxxx.lib files have code that is statically linked to the output binary, they are used in conjunction with the DLL versions of MFC - when statically linking MFC, the [nu]afxcw[d].lib libraries are used (where "n" or "u" determines whether or not the library is Unicode, and "d" is used in Debug builds).
Other related MSDN pages:
Library Naming Conventions (for MFC static linking)
Naming Conventions for MFC DLLs
C Run-Time Libraries
90 is 9.0 and means it corresponds to Visual Studio 2008
I'm going to take a stab at the 's' and say it says the library supports MultiByte Character Sets (as opposed to Unicode or ANSI), but I could not find a link that directly confirmed that.
Edit:
Michael Burr is correct, the 's' indicates it is a library that is statically linked and used in conjunction with the shared DLL versions of MFC. I almost prefer the documentation for Visual Studio 2003: http://msdn.microsoft.com/en-us/library/eezxhb2t(v=vs.71).aspx where it has the DLL in the table and explains what it is for.
I understand the C++ and C syntax, but im a little unsure how i am supposed to code in the VS2010 environment, when i create a project i am presented with folders such as headers and sources.
What c++ code goes into which folder?
Also, how would it work for C?
.h files go into headers, .cpp files go into sources.
Project->Add Class will do the work for you
I agree that Visual Studio can be a bit overwhelming if you're used to code C/C++ using a simple text editor and calling the compiler via the command line.
Decide for yourself how you want to continue with Visual Studio.
If you want to create simple C/C++ applications (consisting of only 1 or 2 source files), just create an empty project and choose "Add Item" to add a source (.c, .cpp) or include (.h) file.
If you want to evolve to more complex applications with e.g. using the MFC libraries, .Net, WPF, ... learn how to use the Visual Studio wizards. These wizards can set up a complete environment for you so you only have to fill in your business logic. Consider reading a Visual Studio 2010 tutorial to get you started.
What is the significance of a source folder/directory with a .tproj suffix ?
.tproj is a Trinity Project file. Trinity is now called Graph Engine however.
You can open them in Visual Studio after installing the Graph Engine VSExtension
Project Builder, which was the IDE for NeXTStep, OPENSTEP, and Mac OS X that later became Xcode, used to have the concept of a "tool project", for which it would make a .tproj folder. So I believe in the concept of Mac shell utilities, you're looking at something that's similar in concept to a .xcodeproj.
Is there any way to get Intellisense in Visual C++ for Visual Studio 2005?
I'm trying to get the Boost libraries to load up with intellisense and in the object browser/class view.
I installed the binary for Windows with the BoostPro installer (BoostPro 1.40.0 Installer).
I'm not certain that it comes with the source code however, which may be required to make Intellisense work in VS2005.
Boost is open source, and mostly header only. Just make sure IntelliSense knows the directory where boost resides so it can explore it.
As an un-answer, you might try out Visual Assist X, which works far better and has more features that Visual Studio's IS.
To make sure Intellisense can find boost, just make sure Boost is in the include directories (under Project Properties->C/C++->Additional Include Directories). Maybe move it to the top. After that, close your instance of Visual Studio, and search the a *.ncb file near your project, and delete it. This will cause IntelliSense to refresh. This should hopefully be enough for it to assist you. (You have to include boost headers into your source files with #include for IntelliSense to consider it)
Keep in mind boost has some very complex parts that IS will choke on, but should still provide the names.
Intellisense scans the headers #included in source files in Visual C++ projects.
So create a project with a single source file that includes the top level header of the boost library that you're interested in. Some of the boost code can't be parsed by intellisense though, and the boost code contains a lot of code to workaround language or compiler limitations that's just noise to someone wanting to see the user facing structure of the libraries.