WINDMC(1)
π¦ NAME π¦
okay so windmc is the girl who generates Windows message resources. that's the whole job description, that's her whole thing, and she eats every single time π
β¨ SYNOPSIS β¨
windmc [options] input-file
π DESCRIPTION π
windmc reads message definitions out of an input file (.mc) and translates them into a little set of output files. and those output files can be one of four kinds, bestie:
hβ a C header file containing the message definitions.rcβ a resource file that's compilable by the windres tool.binβ one or more binary files containing the resource data for a specific message language.dbgβ a C include file that maps message id's to their symbolic name.
the exact description of these different formats is available in documentation from Microsoft. (not me making it up, that's just where it lives π«Ά)
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, honestly π
π OPTIONS π
-a,--ascii_inβ says the input file you specified is ASCII. this is the default behaviour, so if you say nothing at all, this is what you're getting β¨-A,--ascii_outβ says the messages in the outputbinfiles should be in ASCII format.-b,--binprefixβ saysbinfilenames should have to be prefixed by the basename of the source file.-c,--customflagβ sets the customer bit in all message id's.-Ccodepage,--codepage_incodepage β sets the default codepage to be used to convert the input file to UTF16. the default isocdepage 1252. (yes it literally saysocdepage, we don't make the rules, we just report them π)-d,--decimal_valuesβ outputs the constants in the header file in decimal. default is using hexadecimal output (she's a hex girl fr fr).-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; you can use the--helpoption to see a list of supported targets. normally windmc will use the default format, which is the first one listed by the--helpoption.-hpath,--headerdirpath β the target directory of the generated header file. the default is the current directory.-H,--helpβ displays a list of command-line options and then exits. okay bye bestie, love u, see u soon π-mcharacters,--maxlengthcharacters β tells windmc to generate a warning if the length of any message exceeds the number you specified. keeping her honest fr.-n,--nullterminateβ terminate message text inbinfiles by zero. by default they are terminated by CR/LF.-o,--hresult_useβ not yet implemented. tellswindmcto generate an OLE2 header file, using HRESULT definitions. status codes are used if the flag is not specified. (she's teasing us with this one, we wait patiently π)-Ocodepage,--codepage_outcodepage β sets the default codepage to be used to output text files. the default isocdepage 1252.-rpath,--rcdirpath β the target directory for the generatedrcscript and the generatedbinfiles that the resource compiler script includes. the 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. this is the default behaviour, so that's just the vibe π-v,--verboseβ enable verbose mode. she will tell you EVERYTHING and honestly? we respect it π£οΈ-V,--versionβ prints the version number for windmc.-xpath,--xdgbpath β the path of thedbgC include file that maps message id's to the symbolic name. no such file is generated without specifying the switch, so speak up or she stays quiet π€@file β read command-line options from file. the options read are inserted in place of the original@file option. if file does not exist, or cannot be read, then the option will be 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. the file may itself contain additional @file options; any such options will be processed recursively. it's giving inception, and we're obsessed π
π SEE ALSO π
- the Info entries for
binutils. (iykyk, go read them, they're iconic)
π COPYRIGHT π
Copyright (c) 1991-2026 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 thing bestie, no notes π this was binutils-2.46.1, dated 2026-09-07, and she's serving WINDMC(1) realness. mwah, go compile something cute ππ¦π
π¦ where this page comes from
- fedora 44: cross-binutils-common 2.46.1-1.fc44 Β· GPL-3.0-or-later AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND BSD-3-Clause AND GFDL-1.3-or-later AND GPL-2.0-or-later AND LGPL-2.1-or-later AND LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms