编者按:
三元奶粉也“含毒”了?这个消息另人不寒而栗!眼看着三聚氰胺之风越来越弱,此消息一出,似乎三聚氰胺又来了个“大回环”又绕回来了。近期的纷纷被三聚氰胺之风“刮”下水的企业笔笔皆是。最终三元也不能独善其身了。三聚氰胺似个恶魔挥之不去!
不管是三元还是三鹿或是其他的企业,万变不离其中。其实对于企业这关来看,就是产品的质量问题。那么对于我们普普通通的中间商们面对产品的质量问题?我们该如何做呢?
三元也出问题了?
在国家质检总局该项检测中,有20家企业31个批次产品检出三聚氰胺,三鹿、雅士利、伊利、等企业部分批次产品再次上榜,三元亦有部分批次普通奶粉检出三聚氰胺。
迁安三元食品有限公司2008年8月7日生产的乳粉也检出三聚氰胺,含量为10.58毫克/公斤。此前,三元在国家质检总局对幼儿配方奶粉和液态奶的历次三聚氰胺专项检测中,全部抽检产品均合格,成为此次“三聚氰胺风波”中,少数“独善其身”的知名乳品企业。
迁安三元食品有限公司始建于2004年,位于河北省迁安市,是三元股份的子公司。公司总投资2亿元,主要生产牛奶及奶制品、鲜奶收购、奶牛养殖销售等业务。
有消息称,此次三元被检出三聚氰胺的普通奶粉为工业奶粉,主要供乳品企业进行再加工或生产使用,如乳饮料、酸奶、酸奶饮料、饼干、糖果、巧克力、冰品等。而近日,传的沸沸扬扬的三元并购三鹿事件会以何结局剧终?我们将拭目以待。
不论是三元还是三鹿,归结起来只有一个问题的就是产品质量问题,那么如果真的是产品出了质量问题,企业该如何面对。目前中国中小企业多数为贸易公司或是经销商。既不能对产品的质量把关,又要直接面对消费者。夹在中间的滋味真的是不好受。做为中间商我们应如何面对质量问题呢?
中间商应如何面对质量问题
1、第一道关——合同制约。
随着市场竞争的激烈程度日益增加,厂家会根据市场发展情况不断的调整产品线,推出新品。从厂家方面来讲,大多数的新品从概念测试到上市很难有系统化、熟练的操作,产品质量的风险就难免会增加。
自然,这种风险在没有明确的“责任方”之前,随着新品在整个渠道线上的流动,处于中间环节的经销商在更多时候不得不面临这个风险,有苦难言。
所以,经销商必须对厂家新品除了在代理合同外可增加签一个《意外质量问题处理办法》附件,在事件发生前直接规范责任。附件部分需要明确的项目如下表:
项目内容简要备注
问题类型;
问题需要收集的材料;
问题责任人
问题处理程序;
问题处理时限;
问题处理办法;
违约处理;
2、第二道关——业务代表。
作为连接经销商和终端的业务代表,一般情况下要布置终端陈列并定期巡视,所以,在这一个环节如果建立一套规范操作的话也可以减少这类问题的发生。
——可以规定销售代表在出库交接时检查第一到包产品;
——在终端与驻点代表进行交接的时候进行第二道包装(如果可以的话)的检查程序。
3、第三道关——促销人员。
传统的促销发挥推销产品的直接职能,促销的作用应该得到充分发挥;我们多加一条规定,在给客人上酒之前必须增加一个环节:对产品进行相应检查,类似空瓶(多见啤酒)、玻璃杂子、头发、虫子等情况明显一看就知道,为了使其发挥真正作用,确定出详细的操作规范。把这个规定落到实处,用相关规范来督导促销进行上酒的必须检查工作;
通过最后一道关卡把握质量,确保产品在进入消费环节前的质量风险最小化。
如何处理因产品质量产生的问题?
业务代表、促销等各个环节要充分发挥其作用,避免有问题的产品直面终端,在到消费者之前内部解决掉,可是一旦发生,如上面情况,就必须遵循“反应要快”的原则,对待事件立即介入处理。
第一:经销商以调查事件为由,为自己争取时间,同时与此次事件有直接联系酒店相关人员进行沟通,争取看是否可以将事情暂时在此层面内压住,不要向上汇报。在此过程中迅速与厂家沟通,对此事处理问题双方达成共识,从而让厂家感觉在问题面前你们是同一阵线,在处理问题时能够给你最大的支持。尽可能避免与酒店谈好处理结果再通知厂家,那样的话难保厂家不会对你有意见,从而在处理问题的支持力度上克扣你。
第二:拿着厂家的“圣旨”去与酒店进行有把握的谈判;酒店是要个说法,也没有规定这种情况必须赔偿10箱,例如上面;关键在于你们协商的结果;可能是2、3箱;这个时候,只能将损失降低到最小程度,就是最好的结果。如果结果还是不能让人满意再请出厂家代表此时厂家代表出现将会对此事有三点好处:1、是向酒店表示他们的要求自己实在没权决定;2、是给酒店感觉你非常有诚意解决此次发生的问题;3、是让酒店感觉他们很受你的重视;如此一来谈判将会进入另一个阶段。
第三,如果在上述两步都无法顺利实施的情况下对于经销商而言这一步将是经销商需要全力执行的工作了;和厂家业务代表的沟通;产品质量有问题已是事实,厂家认为自己质量再好,事实胜于雄辩。经销商要向厂家“诉苦”,多方面陈述利弊,让厂家认识到后果的严重,尽量要求厂家来承担这个损失,如果多方沟通无力,实在不行,经销商摊开说,和厂家各承担相应比例,比如各自承担一半。
在这个事情上,一定要清楚一个事实:一旦发生这种情况,损失是肯定的;只是小或者多的问题,当然最好的结果就是厂家承担全部损失;
人际关系是润滑剂
不管是防范也好,还是发生后如何处理,其中一个关键是人际关系的维护。
尤其是在产品质量问题引起的事情处理上,一旦发生,酒店首先能和消费者尽量沟通,达成一个结果,从一定程度上避免这种负面信息的散播,现在的媒体比较发达,如果处理不当,很快就可以让酒店、经销商、企业三方受到不同程度的影响,这是大家都不愿意看到的。
其次是和厂家业务代表的关系维护。事情发生后,厂家业务代表和厂家沟通的结果肯定比小经销商去沟通的好,如果他肯帮你说话,多方面陈述利害,厂家一定承担赔偿。
所以人际关系的维护,相当于润滑剂,在关键时候总有发挥作用的一天。
小问题的两大处理误区
问题虽然是一个小问题,但对于大多数中小经销商来说,因为没有足够的网络或者其它因素制约厂家,谈话没有力度,得不到厂家应有的重视,但是市场还是需要继续做,酒店的关系也不能搞杂了,毕竟货款还在酒店那里,还得继续在那里买酒。
但是在问题的处理上,有两大误区,多数经销商容易犯:
处理误区:先和酒店把事情处理完后和厂家沟通。酒店反映问题后,一直催的很急,或者其它原因,经销商一想,就几箱酒,也没多少钱,干脆我先从这里一给,回头再问厂家要,反正事情是真的。
一旦经销商先行赔偿酒店,问题解决起来难度就比较大了。
原因:如果经销商还没有赔偿酒店,则属于厂家产品质量问题,如果厂家置之不理,一旦放大到市场,如上述,消费者一旦知道该产品里有头发,对其销量肯定有影响,其反应是厂家难以控制和想象的。另外对厂家的其它经销商的积极性有一定的影响,试想今天是陆经理的货出了问题,指不定那天我的货也出问题,厂家是否也一样对我?势必在心里要打一个问号。从而扩大到整个渠道网络,牵引多方,可大可小,厂家有所忌讳,不敢不理。
如果经销商已经先行赔偿酒店了,则问题转化为厂家和经销商之间的双方问题,对厂家的制约因素就非常小,事情也相对容易控制;因为即使厂家不给经销商赔偿,经销商也不可能因此和厂家翻脸,如果厂家一拖再拖,你也拿他没办法。
防范误区:为了防范质量问题,如果没有促销可以事先和酒店服务员和经理交代清楚。
听起来好象不错,感觉应该能起到效果,实际上执行起来有难度;酒店服务员凭什么给你检查产品有无质量问题,经理也没有义务替你督导。没有激励和利益挂钩,势必只是听起来不错的想法,无法落实到行动上来。
后话
大多数厂家都会积极地面对和处理问题的发生,类似的情况如果屡屡出现,厂家应该反思:生产环节的失误,管理的漏洞等问题,尽量从上游把产品质量问题降低到最小,即使终端发生类似的问题,厂家也应该积极帮助经销商寻找一个长久的持续解决方法。
2008年9月23日星期二
VC和Matlab调用问题初步研究
众所周知,Visual C++ 6.0是由Microsoft公司推出的可视化集成开发环境。它把面向对象的程序设计方法与可视化的软件开发环境完美地结合,成为众多程序员的首选。Matlab是功能非常强大的数学软件,它广泛应用于线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等领域。然而,Matlab存在不可避免的缺点,一是运算速度较慢,尤其是有多重循环存在的时候更是明显;二是无法脱离Matlab环境运行,可移植性差。因此,如果能够把Matlab的程序加入到自己的Visual C++编制的程序中,将会大大减少编程的工作量、保证程序的准确性,与此同时,能够继承Visual C++良好的用户界面。下面对在Visual C++中调用Matlab程序的几种方法做简要的介绍和比较。
9 V8 S6 L, b8 \9 j, O& x9 h在Matlab与C的接口方面,目前比较常用的方法主要有以下几种:& G' h0 }$ X5 m- W7 R" _' U
1. 在C或C++程序中利用Matlab引擎(Matlab Engine)来调用Matlab的函数。9 B8 V8 d1 f1 u9 ]& {" D8 }
2. 使用Matlab的C++ Compiler(MCC),将M文件编译成CPP源代码,然后在C++编译器中调用。- u! @7 V- v' p6 g, U) B+ }
3. 利用Matlab自带的-mex命令,把Matlab程序编译成MEX文件,然后再用C++来调用。
. `4 C! j# H4 y' x1 c- N/ ?4. 在C或C++程序中使用Matlab提供的C/C++数学库(C/C++ Math Library)直接调用Matlab函数。' i6 B( C0 N# N9 g) } N
5. 用Mideva把M文件编译成CPP源代码,同时编译成EXE文件或DLL文件,生成的CPP源代码可以被C++编译器调用。( q" C/ L& d; D7 f
6. 按照Mideva的语法,在Visual C++中直接书写Matlab语句,实现Matlab和C的混合编程。
: S8 a& z9 |* Y x3 {# ?以上几种混合编程的方法各有利弊。方法1,2,3生成的程序仍然无法脱离Matlab环境,必须在已经安装了Matlab的系统上运行;而方法4,5,6生成的程序则可以独立于Matlab运行。同时,方法1,2,3,4对Matlab中大量的图形句柄函数支持不够,而方法5,6则支持绝大多数的Matlab语句(包括图形)。因此,本文的研究工作主要是采用后两种方法,实现Visual C++和Matlab的混合编程。* L) `; C. z! E' O8 Z4 ~7 B
; K/ a( @$ _ z; R
3.4.1 Mideva简介; a2 X1 r, w7 V, {+ I% N$ j; X: @
Mideva 4.5是MathTools公司在Matcom技术的基础上开发的一个功能强大的工具软件(可以在www.mathtools.com处下载得到30天的试用版)。MathTools公司开发这款软件的出发点就是为Matlab程序的编辑、调试、编译和优化提供一个完整而强大的集成开发环境。它的功能非常强大,提供了Matlab的近千个基本功能函数。Mideva最吸引人的一点就是可以通过Visual C++把Matlab的源代码编译成动态链接库(DLL)或是可执行文件(EXE),甚至可以直接转化成同等功能的CPP源代码。如果使用了Mideva提供的一些库文件,还可以直接实现和Visual C++的混合编程。这样既能够保持Matlab的优良算法,同时也利用了C++的高效率。也就是说,我们可以在Visual C++编译环境下创建友好的用户界面,而把一些较为底层的工作,如数据处理、仿真等交给Matlab来完成。 a/ k% s3 \6 O" Q8 E# @' z6 r$ V6 R
下图为Mideva 的界面:# L: l3 j/ O/ E7 v& a
, l+ L6 t; E! _! m 5 | Z2 p; P' o, Q' j) a5 K
. t% W8 E4 a- E5 x+ r4 }; P' J3.4.2 将M文件转化成CPP文件的方法6 ~/ S% n% A. ~
从以上的讨论可以看出,实现Visual C++和Matlab混合编程的关键就在于把M文件转化成CPP文件,以便在Visual C++里调用。下面就介绍两种把M文件转化成CPP文件的方法。+ |9 Y9 U7 p* s: O
3.4.2.1 在Mideva环境下将M文件转化成CPP文件的方法
/ t5 j p0 L) l4 t; W) B' X0 u在Mideva环境下将M文件转化成CPP文件的方法比较简便易行。首先,在第一次运行Mideva时,要指定所用的C编译器的路径,否则将无法编译。指定好的编译信息会写在Matcom\bin\matcom.ini文件中。在安装Matcom时,它会自动寻找编译器并将其信息写入matcom.ini文件。" N7 j& `& ~( ^9 {: L- ?, m
具体转化时,先在Mideva的Configuration菜单中选择编译方式是Debug模式(调试版)还是Release模式(发行版)(如图3-7所示),这两种模式和Visual C++中的编译版本是相对应的。7 K# Z7 x% j8 H: X8 z
5 V) w/ J. |5 R) C; B随后,选择菜单File下的Run,在弹出的对话框中选择需要转换的M文件,Mideva便会自动运行该M文件并将其转换成相应的CPP文件,运行完之后便可以在相应的Debug或是Release目录下找到和M文件同名的CPP文件。* Z9 A) l6 O/ S9 z3 e6 n
* E: U0 U/ H6 Z0 _
在Visual C++环境下将M文件转化成CPP文件的方法
! N2 Q: L7 B, ` g* A由于Visual C++环境是我们都比较熟悉的可视化集成开发环境,因此这里重点介绍如何在Visual C++环境下将M文件转化成CPP文件的方法。1 p/ {8 w9 O/ c; i5 q7 v: d
要实现这一过程,就必须用到Mideva中带有的Visual Matcom。具体步骤如下。
7 m/ N# F' _" U! y$ q第一步:在Visual C++中安装Visual Matcom。/ v$ p2 n/ Z9 g/ R
启动Visual C++,从主菜单中选择Tools/Customize选项,在弹出的对话框中选择Add-ins and Macro Files标签项,单击Browse…按钮,然后选择“文件类型”为“Add-ins(.dll)”,在C:\Matcom45\bin目录下找到mvcide.dll,单击打开,这样就会出现带有四个按钮的工具条,Visual Matcom便安装完毕。这个过程的示意图如下。" u3 c) {: n# V% R
# t) |2 N" n- n5 b4 ^$ Q
# ]2 r: I+ t. ]$ |# U2 g2 k
第二步,在Visual C++中使用Visual Matcom将M文件转化成CPP文件。
3 R9 d4 r4 a0 e- ^在Visual C++中新建一个工程,单击Visual Matcom工具条中的.m++(Add m-files to current project)按钮,在弹出的对话框中选择需要转换的M文件,则这个文件就会被加入到我们新建的工程中,同时会生成由该M文件转换得到的相同功能的CPP文件,这样,我们就可以像使用工程中的其他CPP文件一样,使用新的CPP文件中定义的函数。
8 f% c+ @' x: `# w
9 V8 S6 L, b8 \9 j, O& x9 h在Matlab与C的接口方面,目前比较常用的方法主要有以下几种:& G' h0 }$ X5 m- W7 R" _' U
1. 在C或C++程序中利用Matlab引擎(Matlab Engine)来调用Matlab的函数。9 B8 V8 d1 f1 u9 ]& {" D8 }
2. 使用Matlab的C++ Compiler(MCC),将M文件编译成CPP源代码,然后在C++编译器中调用。- u! @7 V- v' p6 g, U) B+ }
3. 利用Matlab自带的-mex命令,把Matlab程序编译成MEX文件,然后再用C++来调用。
. `4 C! j# H4 y' x1 c- N/ ?4. 在C或C++程序中使用Matlab提供的C/C++数学库(C/C++ Math Library)直接调用Matlab函数。' i6 B( C0 N# N9 g) } N
5. 用Mideva把M文件编译成CPP源代码,同时编译成EXE文件或DLL文件,生成的CPP源代码可以被C++编译器调用。( q" C/ L& d; D7 f
6. 按照Mideva的语法,在Visual C++中直接书写Matlab语句,实现Matlab和C的混合编程。
: S8 a& z9 |* Y x3 {# ?以上几种混合编程的方法各有利弊。方法1,2,3生成的程序仍然无法脱离Matlab环境,必须在已经安装了Matlab的系统上运行;而方法4,5,6生成的程序则可以独立于Matlab运行。同时,方法1,2,3,4对Matlab中大量的图形句柄函数支持不够,而方法5,6则支持绝大多数的Matlab语句(包括图形)。因此,本文的研究工作主要是采用后两种方法,实现Visual C++和Matlab的混合编程。* L) `; C. z! E' O8 Z4 ~7 B
; K/ a( @$ _ z; R
3.4.1 Mideva简介; a2 X1 r, w7 V, {+ I% N$ j; X: @
Mideva 4.5是MathTools公司在Matcom技术的基础上开发的一个功能强大的工具软件(可以在www.mathtools.com处下载得到30天的试用版)。MathTools公司开发这款软件的出发点就是为Matlab程序的编辑、调试、编译和优化提供一个完整而强大的集成开发环境。它的功能非常强大,提供了Matlab的近千个基本功能函数。Mideva最吸引人的一点就是可以通过Visual C++把Matlab的源代码编译成动态链接库(DLL)或是可执行文件(EXE),甚至可以直接转化成同等功能的CPP源代码。如果使用了Mideva提供的一些库文件,还可以直接实现和Visual C++的混合编程。这样既能够保持Matlab的优良算法,同时也利用了C++的高效率。也就是说,我们可以在Visual C++编译环境下创建友好的用户界面,而把一些较为底层的工作,如数据处理、仿真等交给Matlab来完成。 a/ k% s3 \6 O" Q8 E# @' z6 r$ V6 R
下图为Mideva 的界面:# L: l3 j/ O/ E7 v& a
, l+ L6 t; E! _! m 5 | Z2 p; P' o, Q' j) a5 K
. t% W8 E4 a- E5 x+ r4 }; P' J3.4.2 将M文件转化成CPP文件的方法6 ~/ S% n% A. ~
从以上的讨论可以看出,实现Visual C++和Matlab混合编程的关键就在于把M文件转化成CPP文件,以便在Visual C++里调用。下面就介绍两种把M文件转化成CPP文件的方法。+ |9 Y9 U7 p* s: O
3.4.2.1 在Mideva环境下将M文件转化成CPP文件的方法
/ t5 j p0 L) l4 t; W) B' X0 u在Mideva环境下将M文件转化成CPP文件的方法比较简便易行。首先,在第一次运行Mideva时,要指定所用的C编译器的路径,否则将无法编译。指定好的编译信息会写在Matcom\bin\matcom.ini文件中。在安装Matcom时,它会自动寻找编译器并将其信息写入matcom.ini文件。" N7 j& `& ~( ^9 {: L- ?, m
具体转化时,先在Mideva的Configuration菜单中选择编译方式是Debug模式(调试版)还是Release模式(发行版)(如图3-7所示),这两种模式和Visual C++中的编译版本是相对应的。7 K# Z7 x% j8 H: X8 z
5 V) w/ J. |5 R) C; B随后,选择菜单File下的Run,在弹出的对话框中选择需要转换的M文件,Mideva便会自动运行该M文件并将其转换成相应的CPP文件,运行完之后便可以在相应的Debug或是Release目录下找到和M文件同名的CPP文件。* Z9 A) l6 O/ S9 z3 e6 n
* E: U0 U/ H6 Z0 _
在Visual C++环境下将M文件转化成CPP文件的方法
! N2 Q: L7 B, ` g* A由于Visual C++环境是我们都比较熟悉的可视化集成开发环境,因此这里重点介绍如何在Visual C++环境下将M文件转化成CPP文件的方法。1 p/ {8 w9 O/ c; i5 q7 v: d
要实现这一过程,就必须用到Mideva中带有的Visual Matcom。具体步骤如下。
7 m/ N# F' _" U! y$ q第一步:在Visual C++中安装Visual Matcom。/ v$ p2 n/ Z9 g/ R
启动Visual C++,从主菜单中选择Tools/Customize选项,在弹出的对话框中选择Add-ins and Macro Files标签项,单击Browse…按钮,然后选择“文件类型”为“Add-ins(.dll)”,在C:\Matcom45\bin目录下找到mvcide.dll,单击打开,这样就会出现带有四个按钮的工具条,Visual Matcom便安装完毕。这个过程的示意图如下。" u3 c) {: n# V% R
# t) |2 N" n- n5 b4 ^$ Q
# ]2 r: I+ t. ]$ |# U2 g2 k
第二步,在Visual C++中使用Visual Matcom将M文件转化成CPP文件。
3 R9 d4 r4 a0 e- ^在Visual C++中新建一个工程,单击Visual Matcom工具条中的.m++(Add m-files to current project)按钮,在弹出的对话框中选择需要转换的M文件,则这个文件就会被加入到我们新建的工程中,同时会生成由该M文件转换得到的相同功能的CPP文件,这样,我们就可以像使用工程中的其他CPP文件一样,使用新的CPP文件中定义的函数。
8 f% c+ @' x: `# w
在MATLAB7.0中编译与发布可执行文件的详细步骤与一些问题解答
具体步骤如下:(此方法适用于MATLAB 7.0)
1.安装C编译器(前提是你的电脑已经安装了VC)
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc C version 2.4 in D:\MATLAB7\sys\lcc
[2] Microsoft Visual C/C++ version 6.0 in D:\Microsoft Visual Studio
[0] None
Compiler: 2
Please verify your choices:
Compiler: Microsoft Visual C/C++ 6.0
Location: D:\Microsoft Visual Studio
Are these correct?([y]/n): y
Try to update options file: C:\Documents and Settings\Leki\Application Data\MathWorks\MATLAB\R14\compopts.bat
From template: D:\MATLAB7\BIN\WIN32\mbuildopts\msvc60compp.bat
Done . . .
--> "D:\MATLAB7\bin\win32\mwregsvr D:\MATLAB7\bin\win32\mwcomutil.dll"
DllRegisterServer in D:\MATLAB7\bin\win32\mwcomutil.dll succeeded
--> "D:\MATLAB7\bin\win32\mwregsvr D:\MATLAB7\bin\win32\mwcommgr.dll"
DllRegisterServer in D:\MATLAB7\bin\win32\mwcommgr.dll succeeded
2.在MATLAB中,将M文件编译成exe(可执行)文件
>> mcc -m guimcc
To get started, select MATLAB Help or Demos from the Help menu.
Warning: No matching builtin function available for D:\MATLAB7\toolbox\simulink\simulink\set_param.bi
>>
上面警告的解决方法:
将 \MATLAB7\toolbox\compiler\deploy\matlabrc.m 中的
81行 set_param(0,'PaperType',defaultpaper);
82行 set_param(0,'PaperUnits',defaultunits);
注释掉之后,又重新编译了一次,没有警告信息出来了
3.将编译生成的文件发布到没有MATLAB的电脑上
先在 $MATLAB\toolbox\compiler\deploy\win32下找MCRInstaller.exe(76M左右)文件
然后在没有装MATLAB的机子上安装MCRInstaller到D:\MATLAB Component Runtime
(目录中,最好不要有空格,如用 D:\MCR 就可以了)
设置环境变量,右键点击“我的电脑”-》属性-》高级-》环境变量-》新建
变量名:Path
变量值:D:\MCR\v70\runtime\win32
然后运行exe文件,每次都是出现DOS界面后,几秒钟就自动关闭了
GUI界面一次都运行不出来,也没有错误信息提示
解决办法:
{ 因为MATLAB需要用到处理器的数学运算部分(MATLAB默认用的是INTEL的数学处理单元),故需要设置一下BLAS(Basic Linear Algebra Subroutines,就是"基础线性几何子程序"的意思)环境变量. 首先请确认你的MATLAB的文件夹中有如下文件:atlas_Athlon.dll(AMD系列的请用这个), atlas_P4.dll(P4的用这个),atlas_PIII.dll(P3的用这个),atlas_PII.dll(P2的用这个),这些是对应处理器的数值运算优化文件 }
先找到 $MATLAB7\bin\win32目录下的atlas_Athlon.dll(AMD系列CPU使用)和atlas_P4.dll(奔4用)文件,放到MCR目录中(随便),然后设置环境变量
变量名:BLAS_VERSION
变量值:D:\MCR\v70\atlas_Athlon.dll
这样设置以后,再运行exe文件就OK了。
注意事项:
编译过程中,很可能会有如下报错
>> mcc -m interface
To get started, select MATLAB Help or Demos from the Help menu.
??? Unable to locate close;contentwindow as a function on the MATLAB path
Warning: An object instance still exists.
Use the objectdirectory command to see a count of existing instances.
??? Depfun error: 'Unable to locate close;contentwindow as a function on the MATLAB path'
>>
这种情况是因为我将“close;contentwindow”语句写在按钮控件属性的“callback”里面了
{但是如果只是单个语句的话,是可行的(比如:只有contentwindow)}
此时,只要将“close;contentwindow”语句写在M文件中按钮的“callback”里,再编译就不会出错了
1.安装C编译器(前提是你的电脑已经安装了VC)
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc C version 2.4 in D:\MATLAB7\sys\lcc
[2] Microsoft Visual C/C++ version 6.0 in D:\Microsoft Visual Studio
[0] None
Compiler: 2
Please verify your choices:
Compiler: Microsoft Visual C/C++ 6.0
Location: D:\Microsoft Visual Studio
Are these correct?([y]/n): y
Try to update options file: C:\Documents and Settings\Leki\Application Data\MathWorks\MATLAB\R14\compopts.bat
From template: D:\MATLAB7\BIN\WIN32\mbuildopts\msvc60compp.bat
Done . . .
--> "D:\MATLAB7\bin\win32\mwregsvr D:\MATLAB7\bin\win32\mwcomutil.dll"
DllRegisterServer in D:\MATLAB7\bin\win32\mwcomutil.dll succeeded
--> "D:\MATLAB7\bin\win32\mwregsvr D:\MATLAB7\bin\win32\mwcommgr.dll"
DllRegisterServer in D:\MATLAB7\bin\win32\mwcommgr.dll succeeded
2.在MATLAB中,将M文件编译成exe(可执行)文件
>> mcc -m guimcc
To get started, select MATLAB Help or Demos from the Help menu.
Warning: No matching builtin function available for D:\MATLAB7\toolbox\simulink\simulink\set_param.bi
>>
上面警告的解决方法:
将 \MATLAB7\toolbox\compiler\deploy\matlabrc.m 中的
81行 set_param(0,'PaperType',defaultpaper);
82行 set_param(0,'PaperUnits',defaultunits);
注释掉之后,又重新编译了一次,没有警告信息出来了
3.将编译生成的文件发布到没有MATLAB的电脑上
先在 $MATLAB\toolbox\compiler\deploy\win32下找MCRInstaller.exe(76M左右)文件
然后在没有装MATLAB的机子上安装MCRInstaller到D:\MATLAB Component Runtime
(目录中,最好不要有空格,如用 D:\MCR 就可以了)
设置环境变量,右键点击“我的电脑”-》属性-》高级-》环境变量-》新建
变量名:Path
变量值:D:\MCR\v70\runtime\win32
然后运行exe文件,每次都是出现DOS界面后,几秒钟就自动关闭了
GUI界面一次都运行不出来,也没有错误信息提示
解决办法:
{ 因为MATLAB需要用到处理器的数学运算部分(MATLAB默认用的是INTEL的数学处理单元),故需要设置一下BLAS(Basic Linear Algebra Subroutines,就是"基础线性几何子程序"的意思)环境变量. 首先请确认你的MATLAB的文件夹中有如下文件:atlas_Athlon.dll(AMD系列的请用这个), atlas_P4.dll(P4的用这个),atlas_PIII.dll(P3的用这个),atlas_PII.dll(P2的用这个),这些是对应处理器的数值运算优化文件 }
先找到 $MATLAB7\bin\win32目录下的atlas_Athlon.dll(AMD系列CPU使用)和atlas_P4.dll(奔4用)文件,放到MCR目录中(随便),然后设置环境变量
变量名:BLAS_VERSION
变量值:D:\MCR\v70\atlas_Athlon.dll
这样设置以后,再运行exe文件就OK了。
注意事项:
编译过程中,很可能会有如下报错
>> mcc -m interface
To get started, select MATLAB Help or Demos from the Help menu.
??? Unable to locate close;contentwindow as a function on the MATLAB path
Warning: An object instance still exists.
Use the objectdirectory command to see a count of existing instances.
??? Depfun error: 'Unable to locate close;contentwindow as a function on the MATLAB path'
>>
这种情况是因为我将“close;contentwindow”语句写在按钮控件属性的“callback”里面了
{但是如果只是单个语句的话,是可行的(比如:只有contentwindow)}
此时,只要将“close;contentwindow”语句写在M文件中按钮的“callback”里,再编译就不会出错了
2008年9月22日星期一
台湾彻查从大陆进口“问题奶精”
对相关业者使用糊精、麦芽精等原料制成的食品,如玉米浓汤、咖啡、奶茶、布丁等展开大规模抽检
继台湾当局宣布禁止所有含大陆乳品原料与植物性蛋白成分的产品入台后,台湾“卫生署”又采取进一步“消毒”措施。
9月21日,台湾食品饮料大厂金车公司宣布该公司今年生产的冲泡咖啡等八项产品受到从山东都庆股份有限公司进口的奶精原料所含三聚氰胺污染。台湾当局遂宣布禁止所有含大陆乳品原料与植物性蛋白成分的产品入台。
9月22日晚上十时半,台湾“卫生署”又公布了其他五家从今年1月起至今从山东都庆公司进口奶精原料的岛内厂家,并封存了分布跨四县市、总数高达204.8公吨的奶精、糊精、麦芽精、大豆肽等原料送验。
而岛内各地方卫生部门亦对相关业者使用糊精、麦芽精等原料制成的食品,如玉米浓汤、咖啡、奶茶、布丁等展开大规模抽检。
在台北市,包括连锁快餐店、茶饮店及量贩卖场中的货品都在受检之列,台北市卫生部门表示,检验结果将在三天内公布。在高雄市,卫生部门则宣布将为有疑虑的市民免费检验家中食材是否含三聚氰胺。
据台湾“卫生署”统计,今年1月至今,台湾近三成的奶精均从大陆进口,至于是否有“问题奶精”流入更大范围的中下游食品业,仍有待汇整相关信息。
据首先向公众公布产品受污的金车公司表示,在“三聚氰胺奶粉事件”爆发后,虽然奶精不被归于有毒奶粉之列、进口商山东都庆公司亦未被公布为问题厂商,但因担心产品受污,因此紧急将12项产品呈送食品工业研究所检验。在上周五初步验出部分含三聚氰胺的阳性反应;再次比对后,确认八项产品受污,其中,冲泡式咖啡每包15公克约含8毫克三聚氰胺;而浓汤每包12.6公克约含20毫克三聚氰胺。
金车公司告诉消费者,以一位60公斤体重的成人为例,每天四到五包“问题咖啡”或两包受污浓汤就已经超标,若长期超标使用,恐有患肾结石可能。目前被测出受污的是今年4月到9月出厂的产品,共计市面上流通已达12万箱,该公司已要求在台湾与香港贩售的受污商品全面撤架回收,初步估计账面损失超过7500万新台币。
9月22日,台湾“立法院”民进党团提出未来所有食品均需在包装上载明各项原料产地的要求,此议获得“卫生署长”林芳郁的应允,并表示未来将依《食品管理法》强制要求进口商须担负产品流向的责任。
台湾“行政院新闻局长”史亚平也表示,此波“问题奶粉”事件凸显两岸目前没有消费警讯以及资讯通报机制的漏洞,而台湾当局正推动与大陆协商相关通报机制的事宜。台湾海基会副秘书长张树棣表示,将于10月底、11月初举行的两岸“两会”协商,将此次事件列为优先讨论事项,避免类似情况再度发生。■
继台湾当局宣布禁止所有含大陆乳品原料与植物性蛋白成分的产品入台后,台湾“卫生署”又采取进一步“消毒”措施。
9月21日,台湾食品饮料大厂金车公司宣布该公司今年生产的冲泡咖啡等八项产品受到从山东都庆股份有限公司进口的奶精原料所含三聚氰胺污染。台湾当局遂宣布禁止所有含大陆乳品原料与植物性蛋白成分的产品入台。
9月22日晚上十时半,台湾“卫生署”又公布了其他五家从今年1月起至今从山东都庆公司进口奶精原料的岛内厂家,并封存了分布跨四县市、总数高达204.8公吨的奶精、糊精、麦芽精、大豆肽等原料送验。
而岛内各地方卫生部门亦对相关业者使用糊精、麦芽精等原料制成的食品,如玉米浓汤、咖啡、奶茶、布丁等展开大规模抽检。
在台北市,包括连锁快餐店、茶饮店及量贩卖场中的货品都在受检之列,台北市卫生部门表示,检验结果将在三天内公布。在高雄市,卫生部门则宣布将为有疑虑的市民免费检验家中食材是否含三聚氰胺。
据台湾“卫生署”统计,今年1月至今,台湾近三成的奶精均从大陆进口,至于是否有“问题奶精”流入更大范围的中下游食品业,仍有待汇整相关信息。
据首先向公众公布产品受污的金车公司表示,在“三聚氰胺奶粉事件”爆发后,虽然奶精不被归于有毒奶粉之列、进口商山东都庆公司亦未被公布为问题厂商,但因担心产品受污,因此紧急将12项产品呈送食品工业研究所检验。在上周五初步验出部分含三聚氰胺的阳性反应;再次比对后,确认八项产品受污,其中,冲泡式咖啡每包15公克约含8毫克三聚氰胺;而浓汤每包12.6公克约含20毫克三聚氰胺。
金车公司告诉消费者,以一位60公斤体重的成人为例,每天四到五包“问题咖啡”或两包受污浓汤就已经超标,若长期超标使用,恐有患肾结石可能。目前被测出受污的是今年4月到9月出厂的产品,共计市面上流通已达12万箱,该公司已要求在台湾与香港贩售的受污商品全面撤架回收,初步估计账面损失超过7500万新台币。
9月22日,台湾“立法院”民进党团提出未来所有食品均需在包装上载明各项原料产地的要求,此议获得“卫生署长”林芳郁的应允,并表示未来将依《食品管理法》强制要求进口商须担负产品流向的责任。
台湾“行政院新闻局长”史亚平也表示,此波“问题奶粉”事件凸显两岸目前没有消费警讯以及资讯通报机制的漏洞,而台湾当局正推动与大陆协商相关通报机制的事宜。台湾海基会副秘书长张树棣表示,将于10月底、11月初举行的两岸“两会”协商,将此次事件列为优先讨论事项,避免类似情况再度发生。■
2008年9月20日星期六
VISTA系统安装瑞星防火墙2008后无法上网问题
2008年9月16日星期二
问题奶粉大点名,“扩大化”处理赢得掌声
出乎意料,9月16日,央视新闻联播首席播音员邢质斌女士一反其流利的邢式风格,磕磕碰碰地向全世界逐家点名、全面通报了国家质检总局对全国婴幼儿奶粉三聚氰胺含量抽检结果,从品牌、厂家到三聚氰胺含量皆一一道出,毫无保留。有三十年主播经验邢女士显然来不及对这份刚到手的名单从容准备,有关方面的急切心情表露无遗。
报道称,全国共有175家婴幼儿奶粉生产企业,其中66家企业已停止生产婴幼儿奶粉,此次专项检查对其余109家企业进行了排查,检验了这些企业的491批次产品,专项检查显示,有22家企业69批次产品检出了含量不同的三聚氰胺,被要求立即下架。其中不乏伊利、蒙牛、雅士利这样的名牌厂商,而三鹿的量最大,达每公斤2000多毫克。检查结果同时显示,供应北京奥运会、残奥会的乳制品中未检出三聚氰胺。
这个结果,使添加三聚氰胺成为行业潜规则的坊间传闻得以坐实。同时,奥运会、残奥会的乳制品中未检出三聚氰胺的事实,则反过来证明,相关乳品企业在相关事故中的责任不可推卸。
但此间最值得浓墨重彩书写的一笔,是中央政府对于事件的处理手法。以往,一些地方政府在处理相关问题时,往往采取能捂则捂,实在纸包不住火时,就采取大事化小、小事化了的“低调”办法。但是在此次事件中,中央采取的却是“扩大化”处理办法。9月13日,早报首先指名道姓地指出三鹿奶粉质量问题的第三天,党中央、国务院即启动国家重大食品安全事故I级响应机制,成立应急处置领导小组,由卫生部牵头,国家质检总局、工商总局、农业部、公安部、食品药品监管局等部门和河北省人民政府参加,共同做好事故处置工作。
重大食品安全事故I级响应机制启动后,各部门迅速分工合作,紧锣密鼓地投入到以治病救人和防患于未然为主的各项工作中。卫生系统夜以继日救治患儿,截至9月15日8时,全国医疗机构共接诊、筛查食用三鹿牌婴幼儿配方奶粉的婴幼儿近万名,临床诊断患儿1253名(其中2名已死亡)。质检系统和工商系统24小时不间断检测所有奶制品,对不合格奶粉立即实施下架,不让一包“问题奶粉”有机可乘。农业部和地方政府负责切断不合格牛奶的源头,对婴幼儿奶粉生产和奶牛养殖、原料奶收购、乳品加工等各环节开展检查。政法系统加紧调查,快侦快破,在查明事实的基础上,严肃处理违法犯罪分子和相关责任人。同时要求有关地方和部门要认真吸取教训,举一反三,建立完善食品安全和质量监管机制,切实保证人民群众的食品消费安全。
这一切,貌似偶然,实则必然。它是我们国家经历过2003年的SARS和今年5月汶川大地震后的自然延续,是“人的生命高于一切”的价值观在危急时刻的再度体现。中央此举,是“以人为本”执政理念的进一步落实和贯彻,必将因此赢得民心。诚如温家宝总理一再强调的:一个民族在灾难中失去的,必在民族的进步中获补偿。如果说天灾人祸总在不断地折磨和考验我们,那么我们在抵抗相关灾难和危机中提升的价值观和制度进步,就是抵抗和防范下一次灾难的最佳武器。
这件事也在警示所有的企业和地方政府:出来混,总是要还的。一切以害人为开始的劣行,不管是食品质量、安全生产、劳资纠纷,还是企业与公民之间利益纠纷中的任何偏袒与庇护,最终都要以加倍的方式来偿还。它都要以害人始,以毁己终,甚至弄不好就毁掉整个行业。这一点,在中央政府以人为本的制度建设逐渐加强、互联网时代的信息传播无远弗届的今天,请相信所有的真相都会暴露于公众之前,任何人都不要存着侥幸心理。
它同时也告诉我们,以往一些地方政府处处偏袒企业的“重商主义”传统已经到了非改不可的地步,只有人,才是一切事业的目的和主体。不从根本的制度建设上做到这一点,则其后果的严重性包括两方面:一是民众与企业之间的纠纷动辄演变成民众与政府之间的对立与冲突;二是对企业的纵容导致其小恶不改终成大患,待到问题爆发时往往已是玉石俱焚。
http://news.hexun.com/2008-09-17/108936001.html
报道称,全国共有175家婴幼儿奶粉生产企业,其中66家企业已停止生产婴幼儿奶粉,此次专项检查对其余109家企业进行了排查,检验了这些企业的491批次产品,专项检查显示,有22家企业69批次产品检出了含量不同的三聚氰胺,被要求立即下架。其中不乏伊利、蒙牛、雅士利这样的名牌厂商,而三鹿的量最大,达每公斤2000多毫克。检查结果同时显示,供应北京奥运会、残奥会的乳制品中未检出三聚氰胺。
这个结果,使添加三聚氰胺成为行业潜规则的坊间传闻得以坐实。同时,奥运会、残奥会的乳制品中未检出三聚氰胺的事实,则反过来证明,相关乳品企业在相关事故中的责任不可推卸。
但此间最值得浓墨重彩书写的一笔,是中央政府对于事件的处理手法。以往,一些地方政府在处理相关问题时,往往采取能捂则捂,实在纸包不住火时,就采取大事化小、小事化了的“低调”办法。但是在此次事件中,中央采取的却是“扩大化”处理办法。9月13日,早报首先指名道姓地指出三鹿奶粉质量问题的第三天,党中央、国务院即启动国家重大食品安全事故I级响应机制,成立应急处置领导小组,由卫生部牵头,国家质检总局、工商总局、农业部、公安部、食品药品监管局等部门和河北省人民政府参加,共同做好事故处置工作。
重大食品安全事故I级响应机制启动后,各部门迅速分工合作,紧锣密鼓地投入到以治病救人和防患于未然为主的各项工作中。卫生系统夜以继日救治患儿,截至9月15日8时,全国医疗机构共接诊、筛查食用三鹿牌婴幼儿配方奶粉的婴幼儿近万名,临床诊断患儿1253名(其中2名已死亡)。质检系统和工商系统24小时不间断检测所有奶制品,对不合格奶粉立即实施下架,不让一包“问题奶粉”有机可乘。农业部和地方政府负责切断不合格牛奶的源头,对婴幼儿奶粉生产和奶牛养殖、原料奶收购、乳品加工等各环节开展检查。政法系统加紧调查,快侦快破,在查明事实的基础上,严肃处理违法犯罪分子和相关责任人。同时要求有关地方和部门要认真吸取教训,举一反三,建立完善食品安全和质量监管机制,切实保证人民群众的食品消费安全。
这一切,貌似偶然,实则必然。它是我们国家经历过2003年的SARS和今年5月汶川大地震后的自然延续,是“人的生命高于一切”的价值观在危急时刻的再度体现。中央此举,是“以人为本”执政理念的进一步落实和贯彻,必将因此赢得民心。诚如温家宝总理一再强调的:一个民族在灾难中失去的,必在民族的进步中获补偿。如果说天灾人祸总在不断地折磨和考验我们,那么我们在抵抗相关灾难和危机中提升的价值观和制度进步,就是抵抗和防范下一次灾难的最佳武器。
这件事也在警示所有的企业和地方政府:出来混,总是要还的。一切以害人为开始的劣行,不管是食品质量、安全生产、劳资纠纷,还是企业与公民之间利益纠纷中的任何偏袒与庇护,最终都要以加倍的方式来偿还。它都要以害人始,以毁己终,甚至弄不好就毁掉整个行业。这一点,在中央政府以人为本的制度建设逐渐加强、互联网时代的信息传播无远弗届的今天,请相信所有的真相都会暴露于公众之前,任何人都不要存着侥幸心理。
它同时也告诉我们,以往一些地方政府处处偏袒企业的“重商主义”传统已经到了非改不可的地步,只有人,才是一切事业的目的和主体。不从根本的制度建设上做到这一点,则其后果的严重性包括两方面:一是民众与企业之间的纠纷动辄演变成民众与政府之间的对立与冲突;二是对企业的纵容导致其小恶不改终成大患,待到问题爆发时往往已是玉石俱焚。
http://news.hexun.com/2008-09-17/108936001.html
订阅:
博文 (Atom)