|
I am not talking about microcontrollers right now. I will get to that.
Here is the question.
So I have Microsoft Visual C++ Express edition and I am struggling to create a C console application. I am not sure how I ADD a stdio.h header and a main source file to accept the C code.
I am sure it is possible, it is just that al defaults in VC++ are for
C++ and object-oriented programs I won't need for a while.
I can create a class. I can create a header file. I can't create a plain code file. I don't know what to type into the header file.
Thank you.
|
|
|
|
|
cavemen wrote: So I have Microsoft Visual C++ Express edition and I am struggling to create a C console application. I am not sure how I ADD a stdio.h header and a main source file to accept the C code.
From the File menu, click New then Project. In the New Project dialog, select Win32 Console Application. Give the project a name, and verify the Location. No need for a Solution. In the Application Wizard dialog, just accept the defaults. In the Solution Explorer pane on the left, right-click Source Files and select Add then New Item. Add a C++ file, and give it a name. That file should show up in the left pane under Source Files. Double-click it to start editing. Add something like the following to it:
#include <stdio.h>
void main( void )
{
printf("Hello World\n");
}
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
Thank you.
But when I try to run the empty project it tells me that it cannot find a file path to my project "lesson1\debug\lesson1.exe" (lesson1 is my first project name)
this message pops out, nomatter where I create it, the desktop or the default vc++ folder in my documents.
|
|
|
|
|
cavemen wrote: But when I try to run the empty project it tells me that it cannot find a file path to my project...
Have you tried Googling for the error number/message?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
I did.
I had to hit "build solution" before running it.
However it doesn't want to compile the
#include <stdio.h>
void main( void )
{
printf("Hello World\n");
}
The building information in "Output" tells me that there is one error the compiler had to skip somewhere.
|
|
|
|
|
cavemen wrote: The building information in "Output" tells me that there is one error...
What error? What line?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
------ Build started: Project: Lesson1_2, Configuration: Debug Win32 ------
Compiling...
Lesson1_2.cpp
Hello world.cpp
c:\documents and settings\safeuser\my documents\visual studio 2008\projects\lesson1_2\lesson1_2\hello world.cpp(1) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
Generating Code...
Build log was saved at "file://c:\Documents and Settings\SafeUser\My Documents\Visual Studio 2008\Projects\Lesson1_2\Lesson1_2\Debug\BuildLog.htm"
Lesson1_2 - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
|
|
|
|
|
cavemen wrote: c:\documents and settings\safeuser\my documents\visual studio 2008\projects\lesson1_2\lesson1_2\hello world.cpp(1) : fatal error C1010: unexpected end of file while looking for precompiled header.
See here.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
PROBLEM SOLVED
thank you everybody for your time
I had to start EMPTY CONSOLE project and add my C++ code file to that.
NO pricompiled headers. (I don't even know what they do)
|
|
|
|
|
if you want C, not C++, then make sure your source file has extension .c rather than .cpp
For a simple C app, you can delete most if not all pre-generated file content in Visual.
A console app will clause automatically when main returns (unless ran from inside Visual Studio). You can change that by ending main on (pseudo-code!):
Console.Write("Hit ENTER to terminate");
Console.ReadKey();
There must be dozens of compilers running on PC and targeting ARM.
Some vendors offer hundreds of combinations (all kinds of languages, all kinds of targets). Not sure Borland is one of them; personally I don't see an advantage, I've done C for many targets (choosing the best compiler for each of them), and for PC (using Visual Studio).
|
|
|
|
|
You need to add the sdk information to your Visual Studio.
e.g:
add "D:\Program Files\Microsoft SDKs\Windows\v6.0A\bin" to "Executable files",
add "D:\Program Files\Microsoft SDKs\Windows\v6.0A\Include" to "Include files",
add "D:\Program Files\Microsoft SDKs\Windows\v6.0A\lib" to "Libraray files", ...
Please check these settings of Visual Studio on your machine.
|
|
|
|
|
|
You need run VisualStudio, then choose the follow options begin from "Tools" menu:
"Tools->Options...->Project and solutions->VC++ Directories"
you can set the executable/libraray/include directories now.
|
|
|
|
|
Yes you can use stdio.h - VC++ has been a pretty C89 standard compliant C compiler since about 1997. It's unlikely to grow any C99 features in the short term though.
Use CTRL+F5 to run your code - then the console window window won't close when the program exits. It'll just sit there with a "press any key to continue..." message.
There are loads of compilers that support ARM. I've used gcc for developing on mobile phones and some of my collegues have used a couple of proprietary compilers as well. Doing a quick google for "ARM C compiler" gave me 8 relevant hits on the first page.
Cheers,
Ash
|
|
|
|
|
Hi everyone,
I want to develop something like a commericial GPS tracking system. But since it is not used on highways, I have to develop it myself.
First, I need to build a map of some routes and stops given their GPS coordinates; secondly, when a vehicle travels on those routes, the software shall track which route it is on and which stop is coming up.
I have been browsing the internet and found that GIS pretty much already covers what I need. However, the commerical software, such as ArcGIS, is quite pricy and comes with tones of features that I don't really need.
I wonder if there is any open source GIS library or compact commerical software that I could use in my application.
Any inputs are appreciated! Thanks a lot in advance!
|
|
|
|
|
Maybe this will give you some ideas where to look? http://www.opensourcegis.org/[^]
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
There are many open source libraries out there. It will take me a while to try them out,
|
|
|
|
|
|
That looks like a good starting place.
|
|
|
|
|
Hello,
I'm using Visual Studio 2008 and I'm trying to trap the 'F1' key in a class derived from CFileDialogImpl (found in Windows Template Library 8.0). I've tried a number of things including adding the function:
LRESULT _OnHelp(int , LPNMHDR pnmh, BOOL& )
I've also tried adding the handlers WM_HELP and WM_KEYDOWN, but this doesn't work. Lastly, I've done a number of searches on Google to try to find the answer, but I still haven't figured it out. How do I trap the 'F1' key? Any help or suggestions are appreciated.
Regards,
Mike
modified on Tuesday, June 15, 2010 8:37 AM
|
|
|
|
|
Try to trap it in your PreTranslateMessage()
|
|
|
|
|
I know of no way to use PreTranslateMessage for the CFileDialogImpl class. If I'm wrong, please let me know.
Regards,
Mike
|
|
|
|
|
Ah sorry, got a bit MFC blind there. Have you tried replacing the windows procedure with your own, sort of like a proxy to the original?
I owe you one...
|
|
|
|
|
No problem and I appreciate your effort.
I'm not exactly sure what you mean by replacing the windows procedure. Could you elaborate on that a bit? Which windows procedure?
Regards,
Mike
|
|
|
|
|
The idea is that if you can find the HWND for the file dialog, you could replace its WinProc[^]. All messages are routed through this method. So basically, remove the old WinProc, add your own (all using SetWindowLongPtr[^]), and in your own just redirect all messages to the original, intercepting the F1 keystroke.
This will get you something like the MFC PreTranslateMessage ability.
|
|
|
|