Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to write a DLL file in C? [closed]

Tags:

How do I write a DLL file in C?

I was looking online, but I always get tutorials for C++, not C. I want to write my first DLL file in C. How can I do that? What would a short example be?

like image 580
user1386966 Avatar asked Nov 04 '12 13:11

user1386966


People also ask

How do you close a DLL file?

Type "regsvr32 /u DLL NAME" into the command prompt, substituting the actual DLL name without the brackets for "DLL NAME." Press enter. The DLL file is now no longer running on your system.

Can DLL be written in C#?

If you need to use your DLL from . NET languages - write it in C#, it won't be a windows dll, just an assembly. Very easy to use. If you need to use your DLL from ONLY C++ and ONLY from applications written by the same compiler, write in C++.


1 Answers

Let's get you started on your first DLL:

  • Start Visual Studio .NET.
  • Go to menu File -> New -> Project.
  • Select Visual C++ Project, and from the Templates, select Win32 Project.
  • Give the name to your project. This will be the name of your final DLL file.
  • Press OK.
  • Select DLL from Application Type (In the Application Settings tab).
  • Check Empty Project and press Finish.

You need to attach an empty source file to the blank project:

  • Start Solution Explorer (if it’s not displayed).
  • Right click to the Source Files, Add -> Add New Item and then select C++ File and give the name to it.
  • Press Open.

In the opened window, enter the following code:

#include <stdio.h> extern "C" {     __declspec(dllexport) void DisplayHelloFromMyDLL()     {         printf ("Hello DLL.\n");     } } 
  • __declspec(dllexport) is an obligatory prefix which makes DLL functions available from an external application.

  • extern “C” (with braces, for scoping) shows that all code within brackets is available from “outside” the file. Although code will compile even without this statement, during runtime, you will get an error. (I leave this as an experiment for you).

Build this application and your DLL file is ready.

Refer to Walkthrough: Creating and Using a Dynamic Link Library for more information on how to do addition and stuff.

like image 188
askmish Avatar answered Dec 03 '22 11:12

askmish