QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 14009|回复: 3
打印 上一主题 下一主题

[其他资源] matlab生成exe文件(总结)

[复制链接]
字体大小: 正常 放大
我能 实名认证    中国数模人才认证   

24

主题

8

听众

2289

积分

升级  9.63%

  • TA的每日心情
    慵懒
    2023-4-27 19:48
  • 签到天数: 321 天

    [LV.8]以坛为家I

    社区QQ达人

    群组中国矿业大学数模培训

    群组数学建模培训课堂2

    群组2011年第一期数学建模

    群组学术交流B

    跳转到指定楼层
    1#
    发表于 2012-11-2 13:08 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    matlab功能相当的强大,写好了m文件但是其他很多电脑没有安装matalb,不能运行,所以我们想找到生成exe的可执行文件,我么就想到了和c语言c++进行混合编程,在windows下生成exe文件,matlab和vs等的文章很少大都是那几个 ,我自己在网上找了些东西总结了下:' N- F: I! C1 Y

      n6 L7 c2 C$ T9 c- p( q
    1.Matlab环境设置
    要建立独立运行的C应用程序,系统中需要安装MatlabMatlab编译器、C/C++编译器以及Matlab C/C++数学库函数和图形库函数。: e' ?& S2 o7 U- ]
    Matlab编译器使用mbuild命令可以直接将C/C++源代码编译为独立运行程序,在这些源代码中可以使用Matlab提供的接口来调用Matlab数学库函数。
      r5 o" g9 `7 i9 s# g/ h
    虽然生成的可执行程序可以脱离Matlab环境运行,但是它需要Matlab C/C++数学库文件或者图形库文件的支持才能运行。但如果C/C++源代码完全是按传统C/C++源代码语法规则编写,没有包含Matlab数学库和图形库的调用,则不仅可以独立与Matlab环境,也不需要那两个库函数的支持。
    Matlab Command Window 下输入命令
    mbuild – setup
    操作过程如下图:
                                  
    然后输入命令
    mex – setup
    以类似的方法配置编译器。Matlab 的配置完成。
    2.VS环境设置
    1)设置Include Library 目录
    项目右键->属性->VC++目录->包含目录:添加
    <MATLAB>\R2010b\extern\include\win64
    <MATLAB>\R2010b\extern\include\
    项目右键->属性->VC++目录->库目录:添加
    <MATLAB>\R2010b\extern\lib\win32\microsoft
    <MATLAB>\R2010b\extern\lib\win64\microsoft
    截图(部分):
    2)设置工程目录
    项目右键->属性->C/C++->常规->附件包含目录:添加
    <MATLAB>\R2010b\extern\include\win64
    <MATLAB>\R2010b\extern\include\
    项目右键->属性->链接器->常规:添加
    <MATLAB>\R2010b\extern\lib\win32\microsoft
    <MATLAB>\R2010b\extern\lib\win64\microsoft
    项目右键->属性->链接器->输入->附件依赖性:添加
    libeng.lib
    ) \" s4 E$ ?# |* C! Glibmat.lib
    ; Q4 I! V; A/ d/ ]/ Vlibmex.lib: X7 t8 j6 ?1 N$ Z2 Z
    libmx.lib
      
    注:1.lib文件包含在<MATLAB>\R2010b\extern\lib\win64\microsoft,可根据需要增减
    2.附件依赖性在VS2010前以空格隔开,在VS2010后使用;隔开。
    截图:
    项目右键->属性->链接器->高级->目标计算机:更改(只针对64WINDOWS
    MachineX86 -> MachineX64
    注:分析原因为MATLAB根据计算机平台选择了X64编译环境,如此处不修改会出现 错误3
    3)配置管理器设置(只针对64WINDOWS
    生成->配置管理器->平台:更改
    Win32->X64
    注:分析原因为配合链接器中目标计算机的修改,如此处不修改会出现 错误4
    截图:
    3.系统(Windows)环境设置
    我的电脑->属性->高级系统设置->高级->环境变量->Path,添加:
    <MATLAB>\R2010b\bin;<MATLAB>\R2010b\extern\lib\win64\microsoft;<MATLAB>\bin\win64
    注:1.Windows7的情况下,用户变量系统
    变量都需 添加,如不添加,运行时会出现 错误5
    2.哈哈,别忘记重启哈,重启后生效
    OK!配置就此结束,现在就开始engOpen吧!!对了,别忘记添加#include "engine.h"

    4 i! u5 h8 u8 `% f  
    8 J; Y0 n8 Z' B# z! n6 Q1.设置编译器:7 Q4 A5 O! @) E
    在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:% U4 ^3 z! D& }& W- g! r7 Q
    Mbuild –setup, 按提示选择matlab自带编译器LCC。
    * o4 @8 X- V# F; E7 h# j1 D4 q( ?5 Y$ N1 R, w- m
    2.将脚本编译为可执行文件:$ t: G# x, P) Q! v( C
    如项目文件包含:gui.m, gui.gif, fun1.m。- G8 K9 j7 p  D; R4 T$ v
    3 Z0 M6 i) r& E5 f: @; E1 V
    在此路径下命令行输入:mcc –m gui.m,生 成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c,gui_mcc_component_data.c,gui.exe。其中:gui.ctf,gui.exe为脱离matlab环境运行必需的文件。! T; o$ d& C( _$ W

    ! C0 L/ m) ^$ M, f0 m+ \3.在未安装matlab的机器上运行可执行程序。
    # a) b9 f" }- [* k6 y+ e将R22007b\toolbox\compiler\deploy\win32中的MCRinstaller.exe安装到该计算机上,将生成可执行程序脱离matlab运行所需的函数库。
    + H8 y0 n2 |% U& s- v将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。运行gui.exe将生成gui_mcr文件夹,包含程序运行所需的库。至此完成。' U0 _" A# i, d: `$ b# r) b3 @4 W

    0 `4 |+ y" [3 {2 @3 X1 M/ b2 s# z4.去除独立可执行程序运行时的“DOS黑窗口”。# d; t* }- w  {5 F8 _& y4 ]! r
    以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将其去除。# `. ^. @/ ?* q' [  o
    7 Z7 _5 s/ v/ p: m1 n# j, c% n% }
    matlba命令行输入:! P% T* G  s; \8 {8 ]. H

    # j: Q4 z3 {! P2 B2 |6 ~cd(prefdir)
    & f2 ?2 {& C) x% A8 {% Tedit compopts.bat
    ( b. \& ~+ q) Q- b" T) m: |& q, g; {) K4 s: z% ?
    此时compopts.bat打开,在文件最后添加:
    ( d7 ^' L5 H1 ]8 m" [$ N( T, N: P& u1 @( B' V
    set LINKFLAGS=%LINKFLAGS% -subsystem windows) s9 z+ V( j' [% T1 i4 _! H: k9 d

    9 q( H8 h  z# b; T  u2 ]! G如果程序比较复杂,易出现异常,则不建议去除这个dos窗口以便调试。
    8 Z2 J) }" m+ w3 d3 ?6 R( O3 w8 y$ Q2 R/ y5 S2 U& R4 _8 t: W. m: \
    另外,这个办法是适用于你用的编译器为LCC,如果是其他的,那么所加语句有所不同
    + m0 O; C. L5 V/ ]; X8 d9 X$ M) B0 h% M' U  w
    Microsoft Visual C/C++:+ p: B+ b, J% o9 X6 P
    : c0 Q0 Q- g5 o- x. a) [- d
    set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
    0 q' y. i& h) P3 T! f$ K: F. P/ M# s* |0 q+ q- w
    Borland:
    ) a# s( H' W# u' K* D
    ) g; a+ U4 L5 r7 T: aset LINKFLAGS=%LINKFLAGS% -aa" |. \2 `6 {# g0 ]! b, u
    ———————————————————————————————————————–
    ' c( s) M9 d1 |* h3 I- f$ z8 U% c+ {7 @
    方法一:
    / g" P$ b; S, |: O. O' S- Q已有gui.m文件和gui.fig文件! E5 k: V' ^7 V! f/ N* N
    1 在matlab的command窗口中输入
    6 U- Y! J) j7 H( u! cmcc -B sgl GUI.m! n' g+ r0 z6 b/ P- y' e
    2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器3 W9 \9 J! O5 `' p' C

    0 ~4 z# n3 Z" c' x此时仍需matlab所必需的动态连接库。
    ; ~: Q/ b* A" g6 D3. 将 /extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上. h' q2 ~. {. A+ M- `- ?+ J/ H
    4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录,0 ~$ d: ~- C4 H* D, `
    其中在bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共5 o; j: y( B) P4 }- t+ e# }! k2 V
    有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。6 h# _2 e# E8 H4 }: ?8 o8 t
    而toolbox目录则必须与应用程序同一目录。
    3 Y- Q( n2 w! A6 p) H6 B8 y+ ^' j  X: x0 `2 y
    方法二:
    * q4 w' e2 F2 {2 A$ Q, U. J& Q& ?( C- e$ N
    matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布呢,matlab 也提供了这样的工具。! k! U3 L# A" a7 s, l% p

    9 P; t/ d2 x5 g, e- g4 p! l2 G/ }! k1. 转化为c/c++程序并编译为.exe# F3 A- Z, o# K
    先验证mcc是否可用,用matlab中的example验证即可
    3 w- D, n4 _* v7 a! T建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装)0 I9 A7 Q- d6 [* b- |3 j" k
    由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure
    - V! R8 \( I3 y. y" F  X0 C. ^编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等* I0 N$ m' R, K( X- C" K: R
    程序发布需要.exe、bin\、.fig
    0 s* L: y! ~# D( e. X$ y8 b' u9 Y# Q& }) \
    2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件7 B9 q  }% n0 q. w  d- j6 a; t/ `
    前两者已经在\matlab\extern\lib\win32mglinstaller.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径
    5 a+ ?7 t7 E% B7 H另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同
    & n  _# O" e2 r  c5 @
    5 {1 p) J- Y3 j  d& W2 D3. 在确保.exe程序可以运行的情况下 可以用setup factory打包发布
    ! c0 E2 h, r# c2 W) b6 c( D以下通过注册表自动添加path路径# B8 X! x( L9 \) [
    %————————————————————————————–
    " J; B2 c! d6 g( aScreen.Next(); — 进入下一个屏幕7 _( }3 H5 X9 f7 A; M
    resultDialog = Dialog.Message(“注意”, “向环境变量中加入matlab数学库及图象库的安装路径?”, MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);; ^+ T% N. D* q( t
    if (resultDialog == IDYES) then –加入安装路径& M1 _4 Z; p2 J9 G
    strPath = Registry.GetValue(HKEY_CURRENT_USER, “Environment”, “path”, true);  s1 ^# a, h, d; e
    if strPath ~= “” then' O/ p( l8 R* j- v6 D5 f
    strPath = String.Concat(strPath, “;”);/ c- j, u6 M, q/ b
    end
    # n7 F/ s9 u; L6 B strPathToAdd = SessionVar.Expand(“%AppFolder%”);; P' \9 |% c% `% K+ q+ \
    strPathToAdd = String.Concat(strPathToAdd,”file://MATLAB6p5//bin//win32″);
    1 F0 c6 U' g3 I8 R$ h4 I" V- Y1 i2 ~- h3 x— 如果路径中无该位置,则加入6 ?/ R( z$ P% ]3 h( Y  A$ L
    if String.Find(strPath,strPathToAdd) == -1 then6 y. s0 B2 |& V( q+ y
    strPath = String.Concat(strPath, strPathToAdd);
    ( L' f6 j% V, a* n Registry.SetValue(HKEY_CURRENT_USER, “Environment”, “path”, strPath, REG_SZ);
    : @  K8 t% C( N end8 f4 T( L+ E" M0 ^8 L
    end
    1 \" ?) B2 A3 ^; j%————————————————————————————–# ]. g& E+ p, c+ [3 I9 b0 U
    方法三:
    5 n9 ?+ b' y) N1 K; q* q在网上搜了一个方法,还没有用过, 贴在这里仅供参考:0 V0 k+ ^; o; r' I/ z3 s3 s
    一、 完全可以,而且生成的.exe文件可以在没有安装matlab的机器上使用,方法吗---; v! Y, k% F- h: t
    首先,使用mcc编译得到.exe文件,具体参数见帮助文件;3 L7 `& q( n8 T3 m" \: @; g& _1 z
    其次,将.exe文件及相关资源文件以及一个称为mglinstaller.exe的软件包一起拷到别的机器上,运行mglinstaller.exe,并添加环境变量path,即可执行.exe文件
    9 {6 g  m- V. B' z第三,在MATLAB环境,执行命令
    , S9 t4 p4 `2 D* l- L8 Kmcc -m -B sgl file.m/ J2 l5 L  ~  t& J4 [8 V# q- D+ _
    或者 mcc -p -B sglcpp file.m
    9 ?9 j1 C; a  V- z( y请键入help mcc看帮助。
    : b0 K! s. N' |% U. h9 [; Xmcc是在“command windows” 用的吗?
    , Q, U1 L! W8 P( l. M) o只要“mglinstaller.exe”,与.exe文件及相关资源文件就可以了吗.
    9 Q  Y( m2 w9 D/ ~- X5 y7 Z" D还有“添加环境变量path”是path到.exe文件的环境中是吧?
    & y- y$ p& }5 f. a0 D9 Z% l2 {+ [8 b: e
    二、 在matlab下的workspace里打comtool,点file-open project将我们先前建好的 comtest.cbl工程文件打开,再点component–package component就实现了打包,此时到 comtest\distrib文件夹里看,生成的comtest.exe就是打包后的解压程序,双击它会解压出一些文件,再点击解压出来的 _install.bat就可以实现安装: Z- O! h0 O* H: F
    三、 如何将gui生成exe ?( x8 Y* F- |# n" |- a
    已有gui.m文件和gui.fig文件! ^1 E6 V* F/ b# [; ?9 S7 v7 P
    1 在matlab的command窗口中输入& k, ^- ]) u' A4 `" m, D; M
    mcc -B sgl GUI.m0 u% c- ?1 n6 a( @
    2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器
    4 K8 [" M! A5 x, k4 Y! S此时仍需matlab所必需的动态连接库。
    1 y$ y! o! C: c+ I1 l, a3. 将 /extern/lib/win32 /mglinstallar.exel拷贝到到待运行机器上5 F; Z# [! O5 N+ |' f+ y- o* x
    4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在指定目录下解压缩出bin和toolbox两子目录,其中在 bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。而toolbox目录则必须与应用程序同一目录。: I  o! [5 P- Q
    5.大功告成。 8 s" r$ {; a8 V) k

    0 a% N$ n  V0 ]) U外一篇:MATLAB M文件变exe文件- Y2 c1 I. t! K( Y- T- |: K
    我也是最近才搞定的这个问题,按下述步骤进行,就没有问题,我已经运行成功,但是遇到你程序的bug的话,便会出现错误,关闭整个程序
    + ^" o! P7 m% Z/ B. I" @1 @希望这些对你有用
    & q8 U3 U* P+ f9 `, X+ q' t( \  q" e$ W7 q3 `
    如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现:! O3 M+ g. z/ }' Z
    4 \0 b/ ?, _$ x( ?3 |, N; L9 U, B
    一、生成独立可执行的程序(exe文件)步骤) f; Y. @' M. x/ u3 @
    8 d6 E' @2 \; F' b) s* y, Q& ?3 _
    1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2003实现。
    ) ?2 Y9 k1 E9 s3 i* s) |4 ^2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。
    ; O8 P3 C; u" p: g* T8 [! n. B3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。在命令窗口输入deploytool即可看到。具体使用方法请Help。
    2 \! z1 I  u" M1 t& f. W当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件;
    % f( k! h  _+ ?9 |注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;
    6 {" \  J- ]+ O& C5 c9 M( f0 A( R4、安装\toolbox\compiler\deploy\win32目录下的MCRInstaller。  b/ |" T! d% B, L6 q6 x" R: u

    5 l! N$ z# H# ^  _9 N二、脱离matlab运行可执行程序
    0 ]9 o1 |; M% Y" m5 D' ?, @6 ^: ]MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:
    0 @( O7 }) i/ t4 x* x- k  D \toolbox\compiler\deploy\win32: j$ B0 z( l6 y" a
    文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。
    . l8 [4 l% w# B3 y5 d在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。  f$ E, D+ X) i; y
    在其它没有安装matlab的机器上运行exe文件前:9 n' e# }5 o; k0 b2 F3 j
    首先安装matlab的运行环境。在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。7 v7 h4 @; t  k, h/ y" N0 l. M1 m
    其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。3 b0 q5 J2 C# {! l0 p
    如果没有,也可手动安装,添加的方法是:
    * P  d. H1 H2 i' N+ S, R3 A右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。3 W. y: R9 H/ q" Q" G& G3 T5 C
    注:在安装过程中会弹出让安装Microsoft.NETFramework可以不用安装。
    * e  L, J, E+ O- P9 d; D最后就是将编译生成的相相关文件拷贝到同一目录下,双击即可运行。# y4 ^' x" ]- j9 ~0 p3 {% g. N
    问题:目前此方法可完全运行在没有安装MATLAB以及C/C++的电脑上,但是如果是在AMD的CPU可以运行,但是不会出现任何MATLAB编译的界面。
    % b/ k4 h4 }" a; S美中不足就是,运行的时候dos的那个黑色地窗口一直存在。下面将实现去除黑屏的办法:
    8 g* e1 T1 g5 ?" g3 {: U' E) l
    1 y& ?% U% `$ Z& j消除运行MATLAB生成的exe程序的dos黑屏的办法
    5 k0 D# u0 R& I4 a基于MATLAB生成exe文件后,每次运行都存在dos黑屏的问题,现在可以通过以下方法解决:
    ) l6 \$ e* S7 U4 d方法一: 在命令窗口输入:4 z3 d; S8 a' Q7 @* m2 y
    cd(prefdir)
    # V! _- V; n/ Y+ c: ?edit compopts.bat" a' n  c# _4 b
    在打开的文件最后添加以下语句:; G, y( c- [, _5 p
    5 ]( R) ]7 N! e- |
    A.VC环境下:
    $ I2 w+ a5 k, `0 @. K1 A( I  B, J' @" E  J* ]3 z2 q4 W
    set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup / D9 {0 ]% G( q' H# E
    2 ]: H' v( o/ U7 d& o
    B.LCC环境下:
    5 T* o7 n; H; ~; g0 c* Q" T1 ^set LINKFLAGS=%LINKFLAGS% -subsystemwindows 0 h5 s% D! E: h+ o
    . ~' F! p) M# W5 c" j
    C. Borland:
    ! t! l# s# X! y$ \: [+ b set LINKFLAGS=%LINKFLAGS% -aa: r+ D- _4 `1 M$ A  R
    . q. d  ]$ b# R
    保存以后,再重新编译m文件,生成的exe文件运行起来就没有dos窗口了
    / m. z3 B% U: d/ M2 ?  Q8 @" M3 ]+ W! N- \, a9 R+ ~+ c
    方法二:使用suppress工具:! t" |; M0 W3 ?# P9 E
    下载附件中的suppress压缩包后解压,(当然您可以自己去Google然后再下载)会看到一个suppress.ini文件,用记事本打开,然后将 其中“Name=test.exe”中text.exe的改为你生成的exe文件名。将suppress.exe(有个关盘和显示器的图标),改后的 suppress.ini放到你生成的exe的同目录下。执行suppress.exe或者您自己生成的exe可以了。当然您可以自己修改 suppress.exe的名字,改为您自己想要的名字。
    6 g: ~; L# J. ~4 h- R0 J2 p) `. i; a1 {9 W( o  M
    其中的方法一在使用后生成的exe再到没有任何安装MATLAB的机子上运行也不会有黑屏了。' K. P! j5 Y/ G3 D; K# u
    方法二的缺点就是要同时存在您生成的exe以及supress.exe,必须在同一目录下。
    : v% T$ t( z1 b4 x& F
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    2

    主题

    6

    听众

    117

    积分

    升级  8.5%

  • TA的每日心情
    开心
    2013-9-18 23:25
  • 签到天数: 53 天

    [LV.5]常住居民I

    群组Matlab讨论组

    群组2013认证赛A题讨论群组

    群组数学建模

    回复

    使用道具 举报

    15

    主题

    10

    听众

    799

    积分

    升级  49.75%

  • TA的每日心情
    开心
    2015-7-17 20:50
  • 签到天数: 68 天

    [LV.6]常住居民II

    自我介绍
    我是一名大二学生。

    群组2013年国赛赛前培训

    回复

    使用道具 举报

    eagle1208 实名认证       

    1

    主题

    4

    听众

    25

    积分

    升级  21.05%

  • TA的每日心情
    开心
    2014-1-10 19:20
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-8-5 18:04 , Processed in 0.474193 second(s), 72 queries .

    回顶部