Tutorial: NP Library Header Files
Introduction
You will learn how to create and maintain NP library header files
Declare all your functions in
myNP_tutorial.h
Define all your functions in
myNP_tutorial.c
Include your library in main source
C_createHeader_example.cpp
Don't worry about the file extension of *.cpp or *.c
You can use either extension with Visual Studio for Numerical Programming course
Step 1. Create Workspace Folder
Create a local directory for programming
We will create the main directory under
C:\Users\yourID\source\repos
e.g. C:\Users\ykkim\source\repos
You can search for 'repos' in window menu

This is where your assignment projects should be located.
For this tutorial, let us create the new workspace directory as
Name the directory as "NP"
A name that clearly shows the course name
Create more necessary sub-directories
Example:
...\...\NP\
...\...\NP\tutorial
...\...\NP\include
Step 2. Create a tutorial C-prog Project
Under \tutorial
directory, create a new folder named as TU_CreateHeader
i.e.:
C:\Users\yourID\source\repos\NP\tutorial\TU_CreateHeader
Create a new empty project in Visual Studio Community
Name the project as
TU_createHeader
Create a new C/C++ source file for main()
Name the source file as
TU_createHeader_example.cpp
Paste the following code
// TU_createHeader_example.cpp
#include "stdio.h"
#include "stdlib.h"
// Library include path will be modified at the end of the tutorial
// #include "myNP_tutorial.h"
void printVec(double* vec, int row);
int main(int argc, char* argv[])
{
double x[3] = { 1, 2, 3 };
int x_size = sizeof(x)/sizeof(double);
printVec(x, x_size);
}
void printVec(double* vec, int size)
{
for (int i = 0; i < size; i++)
printf("Vector[%d] = %.1f \n", i, vec[i]);
printf("\n");
}
Compile and Run the program.
It should display the vector x[]
values properly.
Step 3. Create library header files
Under the directory of \include
, create new files or copy myNP_tutorial.cpp
and myNP_tutorial.h
.
C:\Users\yourID\source\repos\NP\include
You can paste codes below
/* myNP_tutorial.h */
#ifndef _MY_NP_H // use either (#pragma once) or (#ifndef ...#endif)
#define _MY_NP_H
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
extern void printVec(double* vec, int row);
#endif
Your library header files, and project source files should be located as
Step 4. Include your library header files in VS code
์๋ฃจ์ ํ์๊ธฐ(Solution Explorer) > ํค๋ํ์ผ > ์ถ๊ฐ > ๊ธฐ์กดํญ๋ชฉ
../NP/Include/
ํด๋์์myNP_tutorial.h
,myNP_tutorial.cpp ์ ํ
3. Modify the header file include path
Step 5. Include your Header files in the main code
In the above main() program, include your header library by finding the path.
Now, you need to delete the function definition of printVec()
in main(), for we have included the function from the header library file.
The main source file should be modified as
/* TU_createHeader_example.cpp */
#include "stdio.h"
#include "stdlib.h"
// Change the Include path
#include "../../include/myNP_tutorial.h" // Find the location of header files
// #include "myNP_tutorial.h" // if the PATH is already Included in Project
void printVec(double* vec, int row);
int main(int argc, char* argv[])
{
double x[3] = { 1, 2, 3 };
int x_size = sizeof(x)/sizeof(double);
printVec(x, x_size);
}
// void printVec() definition is deleted in this file
Compile and run the program.
Last updated
Was this helpful?