.DEF

Fichier DEF

Module-Definition File
Poser une question
RÉPONSE RAPIDE

Un fichier DEF est un fichier de directives d'édition de liens en texte brut - le plus souvent une liste EXPORTS qui indique à l'éditeur de liens Windows quelles fonctions une DLL doit exposer. Ouvrez-le dans n'importe quel éditeur de texte tel que VS Code ou Notepad++. Il s'agit d'une entrée de build transmise à l'éditeur de liens avec /DEF:name.def, et non d'un programme que vous exécutez.

Développeur : Microsoft (Windows toolchain; also used by MinGW/GCC, Watcom, Digital Mars) Catégorie : Fichiers de développement MIME: text/plain
S'OUVRE SUR Windows macOS Linux
Lié : .DO · .MD · .HEX · .XSD

Sur cette page

19k+ extensions indexées
Dernière révision le Jul 13, 2026

Pas sûr de la nature de votre fichier ?

Déposez n'importe quel fichier dans notre identificateur - nous lisons juste les premiers octets pour nommer le format.

Identifier un fichier

Qu'est-ce que le format de fichier DEF ?

Les fichiers .def sont associés aux environnements de développement Windows et OS/2, utilisés avec C, C++ et d'autres langages compilés.

Les fichiers avec l'extension .def stockent des données au format texte brut. Les fichiers .def sont parfois appelés fichiers de définition de module et sont utilisés pour générer des bibliothèques DLL. Un fichier .def stocke un ensemble spécial de directives d'édition de liens - des instructions telles que LIBRARY, EXPORTS, IMPORTS, SECTIONS, HEAPSIZE et STACKSIZE - utilisées pour définir les aspects clés d'une bibliothèque DLL, notamment les fonctions et les symboles de données exposés aux appelants et les numéros ordinaux qu'ils portent.

Le fichier est transmis à l'éditeur de liens au moment de la compilation à l'aide du commutateur /DEF:name.def (MSVC) ou de drapeaux équivalents dans MinGW/GCC et LLVM lld-link. Il s'agit d'une entrée de build, pas d'un artefact compilé ; le binaire résultant est un .dll ou .exe.

Une DLL est un fichier de bibliothèque qui stocke du code exécutable et d'autres données connexes. Les fichiers DLL sont réutilisables - ils peuvent être consultés par plusieurs applications simultanément - et chargés dynamiquement en cas de besoin. Les fichiers DLL sont également un moyen d'économiser de l'espace disque et de la mémoire opérationnelle en raison de leur nature dynamique. La mise à jour des logiciels est également facilitée par le fait que les fichiers DLL sont partagés entre plusieurs applications.

Les compilateurs C/C++ modernes permettent aux développeurs de marquer les symboles exportés directement dans le code source à l'aide de __declspec(dllexport), ce qui réduit considérablement le besoin d'un fichier .def séparé. Cependant, les fichiers .def restent pris en charge par l'éditeur de liens MSVC actuel (link.exe) et LLVM lld-link, et sont toujours préférés lorsqu'une table d'exportation stable et explicitement ordonnée est requise.

Sécurité et sûreté

RISQUE : LOW

Un fichier .def de définition de module est un minuscule fichier de build en texte brut et peut être ouvert et lu en toute sécurité - il ne peut pas s'exécuter. Le seul risque pratique est de le modifier dans un projet réel : changer ou supprimer une entrée EXPORTS modifie l'interface publique de la DLL et peut casser les appelants ou changer les ordinaux d'exportation, comprenez donc l'impact sur l'ABI avant toute modification. Comme pour tout fichier source, ne faites confiance qu'aux fichiers .def provenant de sources de projet que vous contrôlez.

Détails du format

en bref
NOM COMPLETModule-Definition Filealias Module Definition File, DEF file
DÉVELOPPEURMicrosoft (Windows toolchain; also used by MinGW/GCC, Watcom, Digital Mars)depuis Windows / OS/2 development, late 1980s-1990s (16-bit, then Win32)
TYPE MIMEtext/plain
TYPEFichier de directives d'édition de liens en texte brut (instructions : LIBRARY, EXPORTS, IMPORTS...)
Cette extension est également utilisée par…
  • Fichier de carte Tibia / OTClient (.def) - Certains outils de jeu et l'éditeur de cartes Tibia utilisaient .def pour les définitions de cartes/apparitions - sans rapport avec les éditeurs de liens.
  • Définition de données ESRI ArcView / SmartWare - D'anciens outils de base de données et de SIG (SmartWare, ArcView, DataFlex) écrivaient leurs propres fichiers de schéma/définition .def.
  • Définition d'animation AniSprite / Module DEFINITION Oberon-2 & Modula-2 - AniSprite stockait les définitions d'animation de sprites dans .def ; Modula-2/Oberon utilisent .def pour l'interface publique d'un module.

Programmes qui ouvrent les fichiers DEF

Windows4 apps
Windows Notepad Intégré Ouvrir avec > Bloc-notes pour une lecture rapide d'un petit .def ; manque d'aide à la syntaxe.
Notepad Open-source Clic droit > Modifier avec Notepad++ pour visualiser/modifier les directives de l'éditeur de liens avec les numéros de ligne.
Visual Studio Code Gratuit Ouvrez le .def pour lire/modifier la liste EXPORTS en texte brut. Meilleur choix général gratuit.
Visual Studio (MSVC) Freemium Ajoutez le .def à un projet et transmettez-le via Éditeur de liens > Entrée > Fichier de définition de module (/DEF). Visual Studio l'ouvre également en tant que texte pour modification.
macOS1 app
Visual Studio Code Gratuit Ouvrez le .def pour lire/modifier la liste EXPORTS en texte brut. Meilleur choix général gratuit.
Linux2 apps
nano / vim Open-source Éditez dans le terminal lors de la compilation croisée de DLL Windows (MinGW-w64/LLVM consomment le .def via -Wl,--def ou /DEF).
Visual Studio Code Gratuit Ouvrez le .def pour lire/modifier la liste EXPORTS en texte brut. Meilleur choix général gratuit.

Détails techniques

spécifications approfondies
Type de formatFichier de directives d'édition de liens en texte brut
Type MIMEtext/plain
Encodage des caractèresASCII / ANSI ; l'UTF-8 sans BOM est typique
Signature de fichier (octets magiques)Aucune - identifié par des mots-clés tels que LIBRARY, EXPORTS ou NAME au début des lignes
Taille de fichier typiqueMoins de 1 Ko à quelques Ko (un symbole exporté par ligne)
Instruction principale : LIBRARY / NAMEDéclare le nom du module incorporé dans l'en-tête interne de la DLL
Instruction principale : EXPORTSRépertorie chaque symbole à exposer, avec des drapeaux optionnels d'ordinal (@N), NONAME et DATA
Instructions supplémentairesIMPORTS, SECTIONS (définir les attributs de section), HEAPSIZE, STACKSIZE
Commutateur de l'éditeur de liens (MSVC)/DEF:filename.def transmis à link.exe au moment du build
Chaînes d'outils prises en chargeMSVC link.exe, MinGW/GCC ld, LLVM lld-link, éditeur de liens Watcom, éditeur de liens Digital Mars
Artefacts de sortieContrôle la table d'exportation d'un .dll et la bibliothèque d'importation (.lib) générée parallèlement
Systèmes d'exploitation associésWindows (principal) ; OS/2 (hérité) ; DOS 16 bits (hérité)
Alternative moderne__declspec(dllexport) dans le code source ; .def toujours préféré pour les ordinaux d'exportation stables et la portabilité de la chaîne d'outils
Mots-clés 16 bits héritésInstructions d'attributs de segment CODE et DATA présentes dans les fichiers DEF Windows/OS/2 16 bits ; obsolètes sous Win32
Compression et chiffrementAucun - toujours stocké sous forme de texte brut non compressé et non chiffré
PubliéWindows / OS/2 development, late 1980s-1990s (16-bit, then Win32)
Dernière versionSame statement syntax used by the current MSVC linker (link.exe) and LLVM lld-link
Spécificationlearn.microsoft.com

Conversions DEF

Q&R de la communauté

posées par les utilisateurs
Poser une question rapide
Obtenez de l'aide de personnes qui travaillent avec des fichiers DEF. Soyez précis - incluez votre système et la version du logiciel.
Aucun compte requis · réponses généralement sous un jour

Pas encore de questions - soyez le premier à poser une question sur les fichiers DEF.

Foire aux questions

Qu'est-ce qu'un fichier .def en programmation ?
Un fichier de définition de module : une liste en texte brut de directives d'édition de liens - principalement une section EXPORTS nommant les fonctions qu'une DLL doit exposer. Vous le transmettez à l'éditeur de liens (link /DEF:name.def) lors de la construction d'une DLL ou d'un EXE Windows.
Comment ouvrir un fichier .def ?
C'est du texte brut - ouvrez-le dans VS Code, Notepad++ ou l'éditeur intégré à Visual Studio. Pour l'utiliser dans un build, ajoutez-le au paramètre « Fichier de définition de module » (/DEF) de l'éditeur de liens de votre projet.
Ai-je toujours besoin d'un fichier .def si j'utilise __declspec(dllexport) ?
Souvent non - les attributs d'exportation au niveau de la source couvrent la plupart des cas. Mais le .def reste utile pour des ordinaux d'exportation stables, l'exportation de noms C non décorés, ou pour les chaînes d'outils et projets hérités qui l'exigent.
Comment créer un .lib à partir d'un .def ?
Utilisez l'outil LIB de MSVC : lib /DEF:name.def /OUT:name.lib /MACHINE:X64 (ou dlltool de MinGW). Cela construit une bibliothèque d'importation afin que d'autres codes puissent se lier à la DLL décrite par le .def.
Pourquoi mon éditeur de liens signale-t-il des exportations manquantes ?
Souvent, le symbole n'est pas répertorié dans la section EXPORTS du .def, le nom est décoré différemment de ce qui est attendu, ou l'ordinal a changé. Vérifiez que la liste EXPORTS correspond aux noms de fonctions réels et qu'elle est bien transmise à l'éditeur de liens.
Mon fichier .def n'est pas un fichier d'édition de liens - qu'est-ce qui utilise d'autre le .def ?
Plusieurs programmes non liés réutilisent .def pour leurs propres données de « définition » - définitions de cartes de jeux (ex. Tibia), schémas de bases de données/SIG (SmartWare, ArcView), ou interfaces de modules Modula-2/Oberon. Ce sont des formats différents partageant la même extension.

Références

1Microsoft Learn - Module-Definition (.def) Fileslearn.microsoft.com
2Microsoft Learn - EXPORTS sectionlearn.microsoft.com

Continuer l'exploration

à travers la base de données

Top des extensions cette semaine

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.PARTPartial Download File
4.MDMarkdown Document
5.RPMSGRestricted Permission Message
6.CRDOWNLOADChrome Partial Download File
7.NOMEDIAAndroid No-Media Marker File
8.PRDXSoftMaker Presentations Document
9.PRO6XProPresenter 6 Bundle File
10.SWFSmall Web Format (Shockwave Flash)

Extensions liées

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Outils de fichiers gratuits

Un identificateur de fichier et un convertisseur d'images dans le navigateur - tout s'exécute sur votre appareil.

Ouvrir la boîte à outils

Parcourir les extensions de fichiers A-Z