WINDMC(1)
π windmc(1) β GNU Development Tools π
okay bestie, gather round, because today we're talking about windmc, one of the GNU Development Tools, and she is lowkey a whole vibe. she takes your Windows message definitions and turns them into resources. no cap. let's get into it π
πΈ NAME πΈ
windmc β generates Windows message resources β¨
β¨ SYNOPSIS β¨
windmc [options] input-file
π DESCRIPTION π
so the way this works is: windmc reads message definitions from an input file (that's your .mc file, bestie) and translates them into a lil set of output files. and those output files can be one of four kinds, okay, four:
- "h" β a C header file containing the message definitions. classic.
- "rc" β a resource file, and it's compilable by the
windrestool. slay. - "bin" β one or more binary files containing the resource data for a specific message language. multiple files, because she contains multitudes.
- "dbg" β a C include file that maps message id's to their symbolic name. the little index of the group chat, if you will.
the exact description of these different formats is available in documentation from Microsoft. (iykyk π«Ά)
and when windmc converts from the mc format to the bin format, rc, h, and optional dbg β she is acting like the Windows Message Compiler. main character energy fr fr.
π OPTIONS π
-a,--ascii_inβ says the input file you gave her is ASCII. and honestly? that's the default behaviour anyway. π-A,--ascii_outβ says the messages in the outputbinfiles should be in ASCII format.-b,--binprefixβ says thebinfilenames have to be prefixed by the basename of the source file. a lil name tag, cute.-c,--customflagβ sets the customer bit in all the message id's. every single one, periodt.-Ccodepage,--codepage_incodepage β sets the default codepage used to convert the input file to UTF16. the default is codepage1252.-d,--decimal_valuesβ outputs the constants in the header file in decimal. default is hexadecimal output, so this is you choosing chaos (affectionate).-eext,--extensionext β the extension for the header file. the default is the.hextension.-Ftarget,--targettarget β specify the BFD format to use for a bin file as output. this is a BFD target name, and you can use the--helpoption to see a list of supported targets π. normallywindmcuses the default format, which is the first one listed by the--helpoption.-hpath,--headerdirpath β the target directory of the generated header file. default is the current directory.-H,--helpβ displays a list of command-line options and then exits. she's helpful AND she leaves. iconic.-mcharacters,--maxlengthcharacters β tellswindmcto generate a warning if the length of any message exceeds the number you specified. bestie is watching your word count π«£-n,--nullterminateβ terminate message text inbinfiles by zero. by default they're terminated by CR/LF.-o,--hresult_useβ not yet implemented. the idea is it would instructwindmcto generate an OLE2 header file using HRESULT definitions. status codes are used if the flag is not specified.-Ocodepage,--codepage_outcodepage β sets the default codepage used to output text files. the default is codepage1252.-rpath,--rcdirpath β the target directory for the generatedrcscript and the generatedbinfiles that the resource compiler script includes. default is the current directory.-u,--unicode_inβ says the input file is UTF16.-U,--unicode_outβ says the messages in the outputbinfile should be in UTF16 format. and this is the default behaviour, so she's already doing it π-v,--verboseβ enable verbose mode. she will tell you everything.-V,--versionβ prints the version number forwindmc.-xpath,--xdgbpath β the path of thedbgC include file that maps message id's to the symbolic name. no such file is generated unless you specify this switch, so like, you gotta ask.@file β read command-line options from file. the options that get read are inserted in place of the original@file option. if file doesn't exist, or can't be read, then the option is treated literally, and not removed.
options in file are separated by whitespace. a whitespace character may be included in an option by surrounding the entire option in either single or double quotes. any character (including a backslash) may be included by prefixing the character to be included with a backslash. and the file may itself contain additional @file options β any such options will be processed recursively. it's files all the way down, bestie π
π¦ SEE ALSO π¦
- the Info entries for binutils.
π COPYRIGHT π
Copyright (c) 1991-2025 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
and that's the whole page, bestie π this was binutils-2.45.50, dated 2026-01-13, and yes she ate. go compile something cute π β¨
π¦ where this page comes from
- ubuntu resolute: binutils-m68hc1x 1:2.45.50.20251209+3.5.3build1 Β· GPL-3.0-or-later
- ubuntu stonking: binutils-m68hc1x 1:2.45.50.20251209+3.5.3build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms