How to write and run a C Program in Visual Studio 2010

image

Today I was recalling good days of language C and got tempted to play around POINTERS, STRUCTURE, and DATA STRUCTURE etc. I started to write some C code and as soon as I started, the first hurdle came that where to write code? I was running on 64 bit Windows 7 machine with Visual Studio 2010. I binged and found much suggestion to download this and install that etc. However being fan and loyal user of Visual Studio, I was more desired to use rich IDE of Visual studio for my C program. To my surprise it is quite possible to use Visual Studio 2010 to write and compile code in C language.

In this post I am going to walkthrough writing C program in Visual Studio 2010. Follow the steps as below,

  • Create a new project by clicking File->New->Project.
  • From Installed Template choose other language
  • Choose language Visual C++
  • In Visual C++ choose tab Win32
  • Choose project type Win32 Console Application

See the image below,

image

From the dialog box click on Next button

image

Next screen is of Application Setting. You need to make sure

  • Application type is set a Console Application
  • In Additional options uncheck the Precompiled Header.

image

After clicking Finish you will find a project has been created with below structure. Open solution explorer to see the structure

image

To start programming, right click on Source Files and add a new item. You need to make sure below two points,

  • Select C++ File to add
  • But in name change extension to .C, default is .CPP. To work with C language program source file name should be with extension .C. In this case I am giving source file name as Sample1.C

image

Now open Sample1.c and write a hello world program as below,

Sample1.c


#include<stdio.h>
#include<conio.h>
void main()
{
printf("hello C from Visual Stido 2010");
getch();
}


To compile and run the program, simply press F5 and you should get output in console windows as below,

image

You can see that CSample2.exe is running and this is name of the project.

Next let us go ahead and write some code to print address of a variable using Pointer.

Sample1.c


#include<stdio.h>
#include<conio.h>
void main()
{
int number1=9;
int *ptrNumber1;
printf("hello C from Visual Stido 2010\n");
ptrNumber1= &number1;
printf("%d\n",number1);
printf("%d\n",*ptrNumber1);
printf("%d\n",ptrNumber1);
printf("%d\n",&number1);
getch();
}


Above code is quiet simple,

  • Declaring a pointer variable
  • Declaring a pointer
  • Assigning integer variable to pointer
  • Printing values and address of integer variable

In this way you can work with C language programs in visual studio. I am yet to explore how to execute data structures programs like Stack, Link List etc. in Visual Studio. Allow me to explore that and expect further blog posts on the same. I hope this post is useful. Thanks for reading.

 

System.ServiceModel.Web is missing in Visual Studio 2010 Console Application ?

I was creating a managed host application for WCF Service. Although it was just to write few lines of codes in console application, it took 1 hrs. for me to figure out a strange problem.

I followed steps as below,

1. Created a console application

2. I had to add reference of System.ServiceModel and System.ServiceModel.Web

And to my surprise System.ServiceModel.Web reference was missing,

clip_image001

When I started looking for a solution on missing System.ServiceModel.Web, I found it was designed not have it in console application. Because by default, Console Application targets to .Net Framework 4 client profile and client profile does not have System.ServiceModel.Web dll

clip_image003

So if you want to add System.ServiceModel.Web in console application, essentially you will have to change Target Framewrok of the console application.

To change target framework, right click and select Properties. On the Application tab you will get option to change

clip_image005

After changing target framework you will get System.ServiceModel.Web to add as reference in your console application project.

clip_image007