MinGW没有wmain入口函数,为了获取宽字符的参数,可以用系统API函数GetCommandLineW。

main.cpp

#include <iostream>
#include <windows.h>
using namespace std; int main(int argc, const char *argv[], const char *evn[]) {
// print w_char
ios::sync_with_stdio(false);
locale::global(locale(""));
setlocale(LC_CTYPE, "");
wcout.imbue(locale(""));
wcout << L"This is a test! 这是一个测试!" << endl << endl; //print args
wcout << "argc: " << argc << endl;
wchar_t **argv1 = CommandLineToArgvW(GetCommandLineW(), &argc); // MinGW w_char args
for (int i = ; i < argc; ++i) {
wcout << "argv[" << i << "]: " << argv1[i] << endl;
}
LocalFree(argv1);
wcout << endl; // print evn
for (int i = ; evn[i]!=NULL; ++i) {
wcout << "evn[" << i << "]: " << evn[i] << endl;
} return EXIT_SUCCESS;
}

编译输出:

D:\>g++ main.cpp -o test.exe

D:\>test.exe File1 -o File2 汉字 "a b c"
This is a test! 这是一个测试! argc: 6
argv[0]: test.exe
argv[1]: File1
argv[2]: -o
argv[3]: File2
argv[4]: 汉字
argv[5]: a b c evn[0]: ALLUSERSPROFILE=C:\ProgramData
evn[1]: APPDATA=C:\Users\YK\AppData\Roaming
evn[2]: CommonProgramFiles=C:\Program Files (x86)\Common Files
evn[3]: CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
evn[4]: CommonProgramW6432=C:\Program Files\Common Files
evn[5]: COMPUTERNAME=YK-PC
evn[6]: ComSpec=C:\Windows\system32\cmd.exe
evn[7]: FP_NO_HOST_CHECK=NO
evn[8]: HOMEDRIVE=C:
evn[9]: HOMEPATH=\Users\YK
evn[10]: LOCALAPPDATA=C:\Users\YK\AppData\Local
evn[11]: LOGONSERVER=\\YK-PC
evn[12]: NUMBER_OF_PROCESSORS=4
evn[13]: OS=Windows_NT
evn[14]: Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows
\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bi
n\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\MinGW\bin
evn[15]: PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
evn[16]: PROCESSOR_ARCHITECTURE=x86
evn[17]: PROCESSOR_ARCHITEW6432=AMD64
evn[18]: PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
evn[19]: PROCESSOR_LEVEL=6
evn[20]: PROCESSOR_REVISION=2a07
evn[21]: ProgramData=C:\ProgramData
evn[22]: ProgramFiles=C:\Program Files (x86)
evn[23]: ProgramFiles(x86)=C:\Program Files (x86)
evn[24]: ProgramW6432=C:\Program Files
evn[25]: PROMPT=$P$G
evn[26]: PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
evn[27]: PUBLIC=C:\Users\Public
evn[28]: SystemDrive=C:
evn[29]: SystemRoot=C:\Windows
evn[30]: TEMP=C:\Users\YK\AppData\Local\Temp
evn[31]: TMP=C:\Users\YK\AppData\Local\Temp
evn[32]: USERDOMAIN=YK-PC
evn[33]: USERNAME=YK
evn[34]: USERPROFILE=C:\Users\YK
evn[35]: windir=C:\Windows
evn[36]: windows_tracing_flags=3
evn[37]: windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log D:\>

MinGW main()的更多相关文章

  1. [转]dev C++编写windows程序遇到问题

    1.工具-编译选项-编译器-在连接器命令行加入以下命令: -mwindows 2.出现错误:undefined reference to `PlaySoundA@12' 解决办法:工具-编译选项-编译 ...

  2. c++只能编译无法运行或许缺少命令

    -mwindows -lcomctl32 -lwinmm -lws2_32 -lodbc32 -lmysql   -lwinspool1.工具-编译选项-编译器-在连接器命令行加入以下命令:-mwin ...

  3. 关于一些规范:main()函数的返回值 mingw和mingw-w64编译器的区别

    深度剖析c语言main函数---main函数的返回值 - 编程随笔与杂谈 - CSDN博客 https://blog.csdn.net/z_ryan/article/details/80979008 ...

  4. Win7 64位 VS2015及MinGW环境编译矢量库agg-2.5和cairo-1.14.6

    书接上文,昨天装了MinGW,主要原因之一是要用到MSYS,所以顺手把FFMPEG又编译了一遍. 回到主题,其实我是想编译矢量库,因为最近要学习一些计算几何算法,所以找个方便的2D画图库就很重要. 说 ...

  5. Win7 64位 MinGW环境测试SDL2.0.3

    下载MinGW版的文件 http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz 解压放到mysys下面 运行Makefile mysys ...

  6. codeblocks+Mingw 下配置开源c++单元测试工具 google test

    google test 是google的c++开源单元测试工具,chrome的开发团队就是使用它. Code::Blocks 12.11(MinGW 4.7.1) (Windows版)Google T ...

  7. java + jni + mingw实例开发(基于命令行窗口模式)

    java+ jni + mingw 参考网址: http://wenku.baidu.com/link?url=9aQ88d2ieO7IgKLlNhJi5d3mb3xwzbezLPzSIX3ixz4_ ...

  8. Eclipse+Mingw+Boost 环境搭建

    一.安装CDT插件 Eclipse是用Java的swt开发的,所以需要java虚拟机才能运行,jdk的配置方法网上一大堆,这里就不细说了.安装CDT的方法简单提一下,到Help->Eclipse ...

  9. windows下安装mingw

    windows环境下使用gcc MinGw是Minimal GNU on Windows的缩写,允许在GNU/linux和windows平台生成本地的windows程序而不需要第三方运行时库.本文主要 ...

随机推荐

  1. Python迭代器包itertools(转)

    原文:http://www.cnblogs.com/vamei/p/3174796.html 作者:Vamei 在循环对象和函数对象中,我们了解了循环器(iterator)的功能.循环器是对象的容器, ...

  2. python实现复制整个目录的方法

    import shutil #复制文件 shutil.copyfile('listfile.py', 'd:/test.py') #复制目录 shutil.copytree('d:/temp', 'c ...

  3. 我的Android进阶之旅------>RGB颜色查询对照表

    因为兼容性问题,色阶板功能只能在IE浏览器中运行 RGB颜色对照表   #FFFFFF   #FFFFF0   #FFFFE0   #FFFF00   #FFFAFA   #FFFAF0   #FFF ...

  4. matlab学习笔记之五种常见的图形绘制功能

    分类: 离散数据图形绘制 函数图形绘制 网格图形绘制 曲面图形绘制 特殊图形绘制 本文重点介绍matlab五种图形绘制方法的后三种. 一.网格图形绘制 以绘制函数z=f(x,y)三维网格图为例,下面为 ...

  5. Longest Common Prefix -最长公共前缀

    问题:链接 Write a function to find the longest common prefix string amongst an array of strings. 解答: 注意 ...

  6. Django工作小笔记

    场景一:如果model中字段用CharField,然而你想用数字(类似IntegerField)排序,此时可以用django的extra函数直接调用原生sql的CAST函数即可 Score.objec ...

  7. linux环境变量 【转】

    Linux 的变量可分为两类:环境变量和本地变量 环境变量,或者称为全局变量,存在与所有的shell 中,在你登陆系统的时候就已经有了相应的系统定义的环境变量了.Linux 的环境变量具有继承性,即子 ...

  8. $用python处理Excel文档(2)——用xlsxwriter模块写xls/xlsx文档

    Refer:<python自动化运维:技术与最佳实践> 更多用法参考xlsxwriter官方文档:http://xlsxwriter.readthedocs.io/ 本文主要总结一下如何使 ...

  9. Django---media静态文件的配置&全局变量

    media 静态文件配置 static 静态文件多用于存放用于渲染前端页面的相关数据,media用于存放客户上传或其他的文件 setting.py 中加入路径 MEDIA_ROOT = ( os.pa ...

  10. 阿拉伯数字转中文大写数字的JS

    function intToChinese ( str ) { str = str+''; var len = str.length-1; var idxs = ['','十','百','千','万' ...