2008年8月6日
#
得承认,这不困难,下面的这种做法可能看起来舒服些。
#include
namespace HL
{
class mallocHeap
{
public:
~mallocHeap (void) {}
inline void * malloc (size_t sz)
{
return ::malloc (sz);
}
inline void free (void * ptr)
{
::free (ptr);
}
inline size_t getSize (void * ptr)
{
return ::_msize (ptr);
}
};
template
class PerClassHeap
{
public:
inline void * operator new (size_t sz)
{
printf("Malloc one\n");
return getHeap()->malloc (sz);
}
inline void operator delete (void * ptr)
{
printf("delete one\n");
getHeap()->free (ptr);
}
inline void * operator new[] (size_t sz)
{
return getHeap()->malloc (sz);
}
inline void operator delete[] (void * ptr)
{
getHeap()->free (ptr);
}
// For some reason, g++ needs placement new to be overridden
// as well, at least in conjunction with use of the STL.
// Otherwise, this should be superfluous.
inline void * operator new (size_t sz, void * p) { return p; }
inline void * operator new[] (size_t sz, void * p) { return p; }
private:
inline static SuperHeap * getHeap (void)
{
static SuperHeap theHeap;
return &theHeap;
}
};
}
class TestB : public HL::PerClassHeap
{
};
2008年7月3日
#
Squirrel是个脚本,再具体的就不说了,直接看代码。
#pragma pack(push,1)
namespace DZH
{
struct DayData
{
unsigned long date;//date的格式:20070423
unsigned long open;//开盘价
unsigned long high;//最高价
unsigned long low;//最低价
unsigned long close;//收盘价
unsigned long moneysum;//成交金额
unsigned long turnover;//成交数量
char unused[12];//保留
};
}
#pragma pack(pop)
DZH::DayData curData;
SQInteger ScriptGetOpen(HSQUIRRELVM v)
{
StackHandler sa(v);
int paramCount = sa.GetParamCount();
//假设只有一个参数,也确实只有一个参数,我们现在先没有参数传递进去吧。//sa.GetInt(i)),sa.GetString(i)来获得参数
return sa.Return((INT)curData.open);
}
SQInteger ScriptGetClose(HSQUIRRELVM v)
{
StackHandler sa(v);
int paramCount = sa.GetParamCount();
//假设只有一个参数,也确实只有一个参数,我们现在先没有参数传递进去吧。//sa.GetInt(i)),sa.GetString(i)来获得参数
return sa.Return((INT)curData.close);
}
这里定义了两个在脚本里可以调用的函数
初始化一下
SquirrelVM::Init();
SquirrelVM::CreateFunctionGlobal(ScriptGetOpen,"GetOpen",_T(""));
SquirrelVM::CreateFunctionGlobal(ScriptGetClose,"GetClose",_T("")); // String var name.
SquirrelObject scriptfunc=SquirrelVM::CompileBuffer("function ciao()\r\n{ return GetOpen()-GetClose();\r\n}");//这里用到了上面定义的函数
SquirrelVM::RunScript(scriptfunc);
使用:
SqPlus::SquirrelFunction func_formula(_T("ciao"));
int ival = func_formula();
这样就OK了,是如此的方便。
2008年5月7日
#
假如只用VC的话,删去common7下的下列文件
驱动器 G 中的卷是 新加卷
卷的序列号是 9453-F61B
G:\vs9\Common7\remove 的目录
2008-05-07 13:45
.
2008-05-07 13:45 ..
2007-11-08 00:58 10,240 iisresolver.dll
2007-11-08 17:26 421,888 Microsoft.Data.ConnectionUI.Dialog.dll
2007-11-08 17:26 6,656 Microsoft.Data.ConnectionUI.dll
2007-10-10 22:47 6,631 Microsoft.Data.ConnectionUI.xml
2007-11-08 17:26 122,880 Microsoft.VisualStudio.Data.Compatibility.dll
2007-11-08 17:26 253,952 Microsoft.VisualStudio.Data.dll
2007-11-08 17:26 40,960 Microsoft.VisualStudio.Data.Host.dll
2007-11-08 17:26 32,768 Microsoft.VisualStudio.Data.Interop.dll
2007-11-08 17:26 499,712 Microsoft.VisualStudio.Data.Package.dll
2007-11-08 17:26 53,248 Microsoft.VisualStudio.Data.Providers.Common.dll
2007-11-08 17:26 167,936 Microsoft.VisualStudio.Data.Providers.Oracle.dll
2007-11-08 17:26 446,464 Microsoft.VisualStudio.Data.Providers.SqlServer.dll
2007-11-08 17:26 475,136 Microsoft.VisualStudio.DataDesign.SyncDesigner.Dsl.dll
2007-11-08 17:26 688,128 Microsoft.VisualStudio.DataDesign.SyncDesigner.DslPackage.dll
2007-11-08 17:26 1,089,536 Microsoft.VisualStudio.DataTools.dll
2007-11-08 17:26 40,960 Microsoft.VisualStudio.DataTools.Interop.dll
2007-11-09 00:19 249,856 Microsoft.VisualStudio.DeployWizard.Dll
2007-10-10 20:26 352,472 Microsoft.VisualStudio.vspBatchParser.dll
2007-10-10 20:26 142,040 Microsoft.VisualStudio.vspConnectionInfo.dll
2007-10-10 20:26 199,384 Microsoft.VisualStudio.vspGridControl.dll
2007-10-10 20:26 64,216 Microsoft.VisualStudio.vspRegSvrEnum.dll
2007-10-10 20:26 39,640 Microsoft.VisualStudio.vspServiceBrokerEnum.dll
2007-10-10 20:26 1,551,064 Microsoft.VisualStudio.vspSmo.dll
2007-10-10 20:26 207,576 Microsoft.VisualStudio.vspSmoEnum.dll
2007-10-10 20:26 862,936 Microsoft.VisualStudio.vspSqlEnum.dll
2007-10-10 20:26 43,736 Microsoft.VisualStudio.vspSqlTDiagM.dll
2007-10-10 20:26 43,736 Microsoft.VisualStudio.vspWmiEnum.dll
2007-11-08 17:26 1,024,000 Microsoft.VisualStudio.Web.dll
2007-11-08 17:26 176,128 Microsoft.VisualStudio.WPFFlavor.dll
2007-11-09 00:19 856,064 Microsoft.VSDesigner.Management.dll
2007-11-08 17:26 405,504 Microsoft.Web.Design.Client.dll
2007-10-23 09:55 156,728 Microsoft.Workflow.DebugController.dll
2007-10-23 09:55 14,400 Microsoft.Workflow.ExpressionEvaluation.dll
2007-10-23 09:55 11,776 Microsoft.Workflow.ExpressionEvaluation.pdb
2007-10-23 09:55 541,744 Microsoft.Workflow.VSDesigner.dll
2007-11-08 00:58 4,068,856 msvb7.dll
2008-05-07 13:39 Packages
2008-05-07 13:45 0 remove.txt
2007-10-23 09:55 357,376 WDE.dll
2007-11-08 17:26 90,112 WindowsFormsIntegration.Design.dll
2007-11-08 17:26 45,056 WindowsFormsIntegration.Package.dll
2007-11-08 17:26 12,288 WinFxBrowserApplicationTemplateWizard.dll
2007-11-08 17:26 13,312 WinFxCustomControlTemplateWizard.dll
2007-10-23 09:55 192,016 WorkflowProject.dll
43 个文件 16,079,111 字节
G:\vs9\Common7\remove\Packages 的目录
2008-05-07 13:39 .
2008-05-07 13:39 ..
2007-11-08 17:26 225,272 csspkg.dll
2008-05-07 13:40 Debugger
2007-11-08 17:26 156,160 htmdlgs.dll
2007-11-08 17:26 2,419,704 htmled.dll
2007-11-08 17:26 151,552 srcedit.dll
2007-11-08 17:26 375,296 webdirprj.dll
5 个文件 3,327,984 字节
G:\vs9\Common7\remove\Packages\Debugger 的目录
2008-05-07 13:40 .
2008-05-07 13:40 ..
2007-11-08 17:26 578,040 cpde.dll
2007-11-08 17:26 853,504 cscompee.dll
2007-11-08 17:26 184,824 jsee.dll
2007-11-09 00:19 251,896 sqlde.dll
2007-11-09 00:19 196,088 sqlle.dll
5 个文件 2,064,352 字节
所列文件总数:
53 个文件 21,471,447 字节
8 个目录 11,531,968,512 可用字节
注:我是pro版本,也许ts的可以删除更多的。
2008年4月1日
#
http://www.tdragon.net/recentgcc/
Twilight Dragon Media Logo
Navigation
Home
Recent GCC Binaries for MinGW
News
2008-03-22
GCC 4.3.0 TDM-2 released! Shared libgcc&libstdc++ and Dwarf-2 exceptions are here! Make sure to read the usage notes for details on the new features.
2008-03-11
GCC 4.3.0 TDM-1 released! All previous bugfixes are integrated into the source now, plus a whole slew of new features in the GCC 4.3 changelog. Look for builds with shared libraries and Dwarf2 exceptions coming soon!
2008-02-03
GCC 4.2.3 TDM-1 released! Includes all previous TDM fixes plus a few bugfixes in the vanilla sources from 4.2.2.
2007-10-11
GCC 4.2.2 TDM-1 released! Various bugfixes in the vanilla sources from 4.2.1 to 4.2.2, plus a patch to fix the ICE compiling GNU gettext.
2007-08-06
GCC 4.2.1 TDM-2 released! Now includes Objective-C++ and Treelang packages, and support for non-UTF-8 charsets (-finput-charset, etc.).
TDM's Experimental GCC/MinGW32 Builds
Binary packages of recent GCC releases targeting the MinGW compiler system
Main Page | Development Information | Bugs
SourceForge.net Logo
TDM GCC releases hosted by SourceForge
Support This Project
Consider making a donation to support the TDM-GCC project
Last updated: 2008-03-28 09:04
in a nutshell
The TDM-GCC builds are unofficially created packages designed to replace, for experimentation purposes, the official MinGW releases of GCC binaries. The TDM-GCC builds typically contain fewer changes from the vanilla sources and receive less testing than their official counterparts. Since these builds are not formally affiliated with or endorsed by the MinGW project, they should be treated as unstable and unsupported software -- in other words, use it at your own risk.
Recommended Download
GCC 4.3.0-tdm-2
(Default SJLJ exceptions)
Released 2008-03-21
Package Download
core
(Required base files and C support) [tar.gz] (5.67 MB) or [zip] (5.44 MB)
g++
(C++ support) [tar.gz] (8.41 MB) or [zip] (8.73 MB)
fortran
(Fortran support) [tar.gz] (4.54 MB) or [zip] (4.34 MB)
objc
(Objective-C support) [tar.gz] (3.55 MB) or [zip] (3.41 MB)
objc++
(Objective-C++ support) [tar.gz] (3.68 MB) or [zip] (3.53 MB)
OR
GCC 4.3.0-tdm-2
With DW2 Exceptions
Released 2008-03-21
Package Download
core
(Required base files and C support) [tar.gz] (7.84 MB) or [zip] (7.49 MB)
g++
(C++ support) [tar.gz] (6.30 MB) or [zip] (6.76 MB)
fortran
(Fortran support) [tar.gz] (4.52 MB) or [zip] (4.34 MB)
objc
(Objective-C support) [tar.gz] (3.54 MB) or [zip] (3.41 MB)
objc++
(Objective-C++ support) [tar.gz] (3.66 MB) or [zip] (3.53 MB)
For previous releases and source code, see the TDM-GCC download page on SourceForge.
GCC is supposed to support language XYZ! Why isn't there a language pack available for it?
See the development page for details on languages that don't currently compile -- maybe you can provide a patch or alternate build command so that they can!
installation
These binary packages are designed as drop-in replacements for the MinGW project's official gcc packages. When using these packages, you are encouraged to start with a clean slate and install only the MinGW packages which are necessary to you. At a minimum for basic Windows development, you'll need the following packages:
* binutils (binutils-2.18.50-20080109-2.tar.gz, 5.81MB)
* mingw-runtime (mingw-runtime-3.14.tar.gz, 494KB)
* w32api (w32api-3.11.tar.gz, 1.55MB)
You might also want to install:
* mingw-utils (mingw-utils-0.3.tar.gz, 1.51MB)
* mingw32-make (mingw32-make-3.81-2.tar.gz, 95KB)
* gdb (gdb-6.6.tar.bz2, 1.80MB)
You'll need GDB particularly if you want to use an IDE with debugging support.
Decide whether to use the SJLJ or DW2 (Dwarf-2) exception model. As a general rule, you should choose the default SJLJ packages, unless you know you need faster exception handling and can guarantee you'll never need to unwind through non-DW2-compiled stack frames (such as a Windows callback). Then, for the exception model of your choice, download at least the "core" TDM-GCC package, which includes the required base files as well as support for the C language. You can also download any or all of the other TDM-GCC packages, depending on which of GCC's supported languages you'd like to use.
Extract the MinGW packages to an empty directory -- typically C:\MinGW. Then, extract the TDM-GCC package(s) and choose to overwrite any duplicate files that may exist. If you chose to use the "dw2" TDM-GCC packages, consider removing the "-dw2" suffix from the program names; see the README file or the usage notes for further details. Finally, consider adding the bin directory to your Windows PATH environment variable.
You can browse all released packages and source packages at the TDM-GCC download page on SourceForge. Beginning with the 4.3.0 release, all TDM-GCC releases are now available as gzipped tarballs or zip archives. Previous releases do, of course, still require 7-Zip for unarchiving.
All-in-One Installer:
Giovanni Bajo created an "all-in-one" user-friendly installer of an earlier 4.1.2 GCC-TDM release, which additionally features full Python integration. The full installer is available at http://www.develer.com/oss/GccWinBinaries.
usage notes
Exceptions and DLLs:
WARNING: The shared libgcc and libstdc++ in 4.3.0 aren't fully working yet; depending on which objects you use from libstdc++, you may see multiple definition errors and/or auto-import warnings.
In order to throw an exception out of a DLL and successfully catch it, your program must link with the shared (DLL) versions of libgcc and libstdc++. This is important for several reasons.
* The default action is still to link with the static versions of these libraries. This is fine for the majority of people. In order to link with the shared versions of libgcc and libstdc++, you need to add "-shared-libgcc" and "-lstdc++_s" to the link-time compilation step. For example: gcc -o test.exe test.o -ltest -shared-libgcc -lstdc++_s.
* If you make use of common libstdc++ objects in your program while using the above options, you'll see auto-import warnings and/or errors unless you ALSO, at COMPILE-TIME, define the macro "_DLL". You can either do a "#define _DLL" before including libstdc++ headers, or add "-D_DLL" to the command line. For example: gcc -c -o test.o test.cpp -D_DLL.
* Linking with the shared versions of libgcc and libstdc++ means you have to distribute the libgcc and libstdc++ DLLs along with your programs. Also, this in turn tends to open up questions about the GPL and source code distribution requirements; be sure to read this page from the MinGW Wiki, as well as this FAQ from the GNU website's GPL FAQs.
Dwarf-2 vs. SJLJ unwinding:
GCC supports two methods of stack frame unwinding: Dwarf-2 (DW2) or SJLJ (setjmp/longjmp). Until recently, only SJLJ has been available for the Windows platform. This affects you, the end user, primarily in programs that throw and catch exceptions. Programs which utilize the DW2 unwind method handle exceptions much more quickly than programs which utilize the SJLJ method. However, the DW2 method increases code size by a noticeable amount, and additionally cannot yet unwind (pass exceptions) through "foreign" stack frames: stack frames compiled by another non-DW2-enabled compiler, such as OS DLLs in a Windows callback.
This means that you should in general choose the SJLJ version of the TDM-GCC builds unless you know you need faster exception handling and can be certain you will never throw an exception through a foreign stack area.
As distributed, the SJLJ and DW2 packages of TDM-GCC can coexist peacefully extracted to the same directory (e.g. any files in common are for all intents and purposes identical), because the driver executables (the ones in the "bin" directory) are suffixed with "-dw2" for the DW2 build, and the libraries and other executables hide in another "-dw2" directory in "lib(exec)/gcc/mingw32". This allows you to use the same single addition to your PATH, and use DW2 exceptions only when you need them by calling "gcc-dw2", etc. If you truly want DW2 exceptions as the default when calling "gcc" (from Makefiles or configury systems, for example), you can rename or copy the suffixed executables to their original names.
Warnings and errors:
GCC 4 represents a significant step forward in optimization capabilities, error detection, and standards compliance, and this is more true than ever with the advent of the 4.3 release series. For you, the end user, this will mean that code which used to compile and run without problems will almost certainly exhibit some warnings and maybe even a few errors.
These meaningful warnings and errors are a very good thing, as they help the programmer to write safer and more correct code. Unfortunately, there's also a chance you might encounter incorrect warnings or errors, ICE's (internal compiler errors, where the compiler makes a mistake and has to bail out), or even miscompilations (where your code is incorrectly compiled and produces the wrong result).
If you encounter an ICE while using a TDM-GCC build, feel free to file a bug report (see the Bugs page). With any other unexpected problem, you are urged to work from the assumption that it stems from user error, and ensure that your code is correct and standards-compliant.
OpenMP and pthreads-w32:
The TDM-GCC releases include support for OpenMP. Be sure to read the file README-gcc-tdm.txt, included in the core package, for usage notes on this topic.
Local Fixes and Changes:
See the Development page for information on patches to the vanilla sources included in the TDM-GCC releases.
bugs and known issues
* [Only releases prior to 4.3.0-tdm-2] Exceptions cannot leave DLLs. This issue was fixed in the official MinGW releases with local patches for the 3.4 series and 4.2 series, but is not fixed in the main GCC sources. Beginning with 4.3.0-tdm-2, the patchset to build shared libraries and fix this has been ported to the TDM-GCC releases. The problem only appears in previous releases when a function in a DLL called from outside the DLL throws (or fails to catch) an exception, and results in program termination at that point.
* [4.2 series only] A miscompilation can occur in very specific situations when -O2 optimization is enabled, if you pass the address of a local pointer variable to a function that modifies it. Use "-O2 -fno-strict-aliasing" as a workaround. This has been fixed as of the 4.3 series. (See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32328)
These builds are provided primarily on an experimental basis. As such, they are expected to contain bugs. If you encounter a bug that you are certain is in the GCC sources (such as an ICE), or that is due to an issue in the building or packaging process, you are encouraged to report it. Please visit the Bugs Page for bug reporting instructions.
source code
The source code for the TDM-GCC binary releases is available from the TDM-GCC download page on SourceForge. It is distributed in the form of the original ("vanilla") separate source packages as downloaded, plus an additional "TDM Sources" package. The TDM Sources package includes unified diffs of any changes made to the vanilla sources, as well as the set of scripts used to build the binary releases.
license
The TDM-GCC packages contain binary distributions constituting a work based on GCC, which is licensed under the GPL. For further details, refer to the file "COPYING-gcc-tdm.txt" within the downloaded package. Additionally, TDM-GCC contains binary files constituting works based on libiconv, GMP, MPFR, and pthreads-w32, all of which are licensed under the LGPL; COPYING.lib-gcc-tdm.txt contains a copy of the LGPL.
The TDM-GCC distribution is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
TDM-GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
The contents of this website, including but not limited to graphics, layout, and text, are copyright John E. 2005-2008. All rights reserved; you must obtain explicit written permission from the author before using any portion of this site in your own works. This website is designed to be best viewed in HTML 4.01 and CSS2+ compliant browsers running under a monitor resolution of at least 1024x768.
2008年1月29日
#
在城市里,往往听到这样的呼声:“农民工,滚回你们的农村去!”
每当听到这样的话,让人感到很俗气,很恶心,腹内便有了翻江倒海般的感觉。原始的意识告诉我,那就是想呕吐。
曾几何时,农民工成了江洋大大盗的代名词,成了社会动荡的主因,成了猥琐,龌龊,无知的形像代言人。农民工围攻政府,农民工抢劫杀人,农民工入室盗窃,农民工跳楼讨薪,农民工奸淫掳掠。实足是八国联军进城。种种种种每日成了各大新闻媒体报刊杂志的头条。于是“农民工”这三个字顿时成了全国舆论的焦点。大有席卷全世界之势。感谢城里的都市人,让咱们这些名不见经传,没见过世面的农民工着着实实的风光了一把。
凡冠以农民工之名的各种杂志必定大卖,新闻必定大红大紫,电影必定叫坐。那么,是谁成就了农民工?
农民工,即使在广州深圳这样的大城市里生活了近七八个年头。尽管说得一口流利的粤语,取得广州户口,但每每有人问及是哪里人,他们都得说咱是农村来的。因为他们摆脱不了头上顶着的农民工的那个光圈,走到哪里也洗不掉农村人身上的那股牛屎味……
当地上躺着一块钱,城里人会昂着头走地去,装做没看见,而他们会弯着腰,捡起来拍拍上面的尘土,如获至宝,因为他们是农民工,就那点出息。
当城里人坐在装修气派的餐厅酒楼大鱼大肉的时候,他们就是站在城里人旁边帮他们摆碗摆筷,端茶送水的人。看着城里人喝得酩酊大醉,吃得满嘴流油,他们心里在想:什么时候咱也能像城里人一样坐下来,让人伺候着,然后大手一甩,对着身边低头哈腰,满脸陪笑的服务员大叫一声:刷卡或者签单。他们只想体验下做城里人的感觉。他们只想体验一下那种欺负人的感觉,因为他们是农民工,他们就那点出息。
当城里人坐在酒吧歌厅怀里搂着“小妹”,口里唱着“十八摸”,手在小妹身上游来游去,眼睛死盯着若隐若现的乳沟的时候,然后将印着毛主席头像的百元大钞往小妹乳罩里面塞,来搏取小妹如蛇般的曼妙身姿,在他怀中扭来扭去而激发的快感时,他们却坐在人行天桥上或者地下通道里,怀里抱着那十多年前花了几十块买的破吉它,口里唱着离家的孩子,眼睛死盯着过路的行人的口袋,希望从那里蹦出一、两个钢崩,然后听到一声清脆的叮铛声,摆在面前的盆子里多出一个银晃晃的硬币。再然后向施舍的人投去感激的眼神,鞠上一个深深躬。是的,城里人在想尽办法将自己的钱丢进别人人口袋的时候,他们却想着怎么让城里人把钱丢进自己的口袋。因为他们是农民工,他们不知道快感为何物,只知道生活让他们明白必须得卑躬屈膝的做人。
当城里的作者、学者、社会评论员或者社会学学者拿“农民工”这三个字做为噱头,大肆渲染他们的文章或者社会评论赚取大把大把的花花绿绿的钞票的时候,农民工便成了他们赚钱的机器,成了他们的提款机,只要他们出示“农民工”三个字,无需密码验证。钱就源源不断的流入了他们的口袋。如果把学者们当做是编剧,农民工便是那剧集里面的男女主角。不同于那些大腕明星,可以甩大牌,可以提条件。谈报酬,而农民工只是老老实实的按照他们笔下刻画的形像去演好自己的角色,没有报酬。编剧们达到了他们的目的,赢得了大把的利润,而他们只是期望大众的关注,但结果是却赢得无数的鄙视与不屑。
他们只是一个农民工,只是因为生活所迫,希望在纸醉金迷,便地是黄金的都市里找个角落栖身,为自己的嘴赚取一口粗粮,为年幼的儿子赚取一桶奶粉。为年迈的父母赚取一副棺材。所以他们给城里人跪下,并哀求城里人。
“农民工,滚回你们的农村去。” 请城里人收回你们的这句话。他们只是一群为生计所迫的农民工,他们并不想跟城里人抢就业的机会,或者是均享你们的社会副利。他们只是在想:等咱有了钱,咱会带着儿子的奶粉和老娘的棺材滚回咱们的农村去的。不用你们叫咱滚。咱是农民工,但咱也有人格与尊严。
不知道是谁创造了农民这个词,但他们知道自己为什么是个农民,道理很简单,他们的爷爷是个农民,所以他们的爹也是个农民,因为他们的爹是个农民,所以他们也是个农民。
他们不知道为什么人家说自己离经叛道,说自己整天摆出个死猪不怕开水烫的调调。不就是因为抱怨邓小平同志太小气,要是1979年的那个春天,他的那个圈画大一点。或者将那个圈画在自己的家乡。他们不就成了城里人吗?只可惜邓小平同志只是在南海的边边上,画了一个小小的圈。以至于今天他们被别人叫成了农民工。
农村,那个在迁客骚人誉为鸟语花香,民风纯朴的地方,曾经多么令人向往,可是在中国经济迅猛发展的今天。那里的人却还一直守着一亩三分田,日出而作,日落而栖,信息的闭塞,交通的闭塞,教育的落后,致使生活在那里的人衣食堪忧,因为农产品的廉价,生产成本的不断上升,农村人忙活了一年,所得的收入还抵不上开支,于是大多数的人开始背井离乡,去到一个叫城市的地方去淘金,希望在城市里凭着自己的勤劳,朴实找到一份工作。改变多桀的命运。
可是当他们承载着全家人的梦想,来到这个被钢筋水泥浇成的都市里后,才发现偌大的一个城市,却没有弹丸之地让他们立足。他们没有上过大学,没有专业技能。当他们四处碰壁,口袋里的钱又所剩无几的时候,为了生存,为了满足他们最基本的生活需要,他们丧失了与用人单位或者说是雇主讨价还价的权力,于是街头巷尾出现了他们的影子,或拉着个板车,在小区内叫着只有他们才能听懂的:收垃圾咯,废旧电视,冰箱,DVD高价回收咯。或手里拎着个蛇皮袋子,在每个垃圾筒里翻来捣去,翻到一个矿泉水瓶或易拉罐也能让他们两眼放绿光。而更多的人,走进了工厂,开始廉价出卖他们的劳动力,成为资本家追求利益最大化的生产工具。还有一部分人不约而同的坐在某一个地方,等待那些需要雇佣零时工的雇主们来挑选。他们都来自农村,因此一个新名词便应运而生:农民工。
但不是每个农民工付出了自己的劳动都能拿到相应的报酬,有很多人,劳碌了一年,眼看要过春节回家的时候,他们的雇主,却携款潜逃,或者他们打工的厂子因经营不善,发不出工资,他们拿不到一分钱,甚至回家的路费也没有,可是家里还有年迈的父母望眼欲穿,还有年青的妻子殷殷期盼,年幼的子女嗷嗷待哺。于是他们采用各种方式来索要本应属于他们的工资。他们有的跟雇主下跪,有的围堵包工头,他们没有法律意识。他们认为这是最简单也是最直接的方式,可是没有人去怜悯他们。也没有人去理会他们,他们上天无路,入地无门,当他们歇斯底里的哀求,仍得不到回应。他们开始铤而走险。抑或采取极端的方式进行抗争,如是出现了农民工爬上高楼或者塔吊以跳楼相要挟,抑或绑架欠他们工钱的人索要他们的工钱,或者砸坏机器来发泄他们心中的愤慨。更有甚者开始报复社会。
我不是有意为农民工辩护,作为社会的弱势群体,缺乏自我保护的手段,他们朴实得有点愚昧,在这个整天叫嚣着平等与和谐的社会主义社会里饱受着欺凌与压榨。不可否认的,有一小撮农民工来到城市后,发现现实与他们的梦想相去甚远,挫败感让他们对生活失去了信心,他们开始吸毒,开始聚众闹事,开始入室盗窃,抢劫。甚至撬开某一出租屋,将自己的身体压在另一个不相识的异性的身体之上,于是城里人开始感到他们生活着的这城市里处处充满的危机。惶惶不可终日。于是开始忽略大部分农民工为这个城市的发展做出的贡献,口中大喊:“农民工,滚回你们的农村去。”
就广东而言,仅湖南每年输入到这里的劳动力就超过五百万,城市的发展没有这些外来务工人员,也就是你们口中的农民工,不知道又会是个什么样子,我无法统计到这些外来的农民工到底每年为城市创造了多少价值,但可以肯定的一点,当你们叫嚣着:“农民工,滚回你们的农村去”的时候,也同时将你的愚昧狭隘凸显得一览无余。
这一切不是某一个人的力量所能左右的,如果你学过政治,你应该知道国情这个词,很明显国情决定一切。960万平方公里,十三亿人口,农村人口占70%,30%的的城里人却占了总资产的87%。
是的,城里人过上小康生活的时候,他们还在为一日三餐发愁,城里人步入国际化大都市的时候,他们离小康还很遥远。当城里人追求物质生活的时候,他们还没明白什么叫生活,当城里人开始追求精神生活的时候,他们还没搞懂什么叫物质。也许农民工只适合生活在原始社会,因为那里没有贫富贵贱,没有压榨与歧视。当然共产主义社会也许适合他们生存,那个时候,你的就是我的,我的就是你的。想当然他们也会有了优越感。可是现在的社会主义社会着实让这些农民工很尴尬。电视里时常播放着,某某领导慰问特困户,某某单位为农民工讨回被拖欠工资,然后就是一个特写,一个老得没有了门牙的老农民,或者老农民工,装出一副欣喜若狂的样子,口中重复着感谢党之类的话,然后将手中几张少得可怜的人民币展成扇形,表示很多很多……
农村与城市的这种体制决定了他们今天的尴尬,比如工伤致死一个人,如果是城市人口可能能获赔35万,而如果是个农民工也许只给你个十万八万就算了事。就是车祸致死人命,他们因为是农村户口,获得的赔偿仅是城市户口的一半。都是一条命,只是因为一个生在城市而一个活在农村,连生命也因为城市与农村有了贵贱之分,这是农民工的尴尬,却难道不是社会的悲哀?
话再说回来,一小撮进入到城市里的农民工,确实给城市的治安带来了一些问题,但那毕竟是一小撮,不能一棍子打死一片,就如同城里人也有也有因争风吃醋雇凶杀人,或者为讨情人欢心,动辄挪用公款上亿来挥霍的。又或者贪污受贿,卖官縻爵,偷税漏税的,不同的是,农民工智商太低,所以他们采取的犯罪方式简单直接,而城里人素质相对高些,所以犯罪手段或者方式隐晦一些。但都是犯了罪,如果究其影响而言,城里人犯的案子对社会的危害明显要大过那一小撮农民工犯案所造成的社会危害。
所以我要再次重申,他们只是一群为了生存而来到城市打拼的农民工,他们不怕苦不怕累。可以帮城里人清理下水道,清洁卫生间,可是他们无法去清扫城里人那张嘴,他们也有血有肉,他们也有人格与尊严,他们也懂得什么是爱什么是憎。只是他们是来自农村的一群人,他们也有希望也有梦想。当他们被生活逼得走投无路的时候,你们不要落井下石,不要让他们感觉到道德在逐渐沦丧,人性在逐渐悖离,道义的底线在逐渐崩溃。所以我要以农民工的名义请求你们,请你们留点口德,留点希望给这些在社会底层与命运抗争的人。
当人类把猪叫做畜生的时候,我不知道猪怎么来称呼咱们人类,而当你们歧视咱们农民工的时候,咱们却不知道怎么来称呼你们这样的一些城市人!
http://q.163.com/xinlingshenchu/blog/manbuzhe1949/3398277820080286125723/#3398277820080286125723
2007年9月20日
#
BastEt 7 (43791167) 12:55:21
这个世界有很多矛盾,但现在也想不通,这些事情到底是怎么发生的呢。
Linker.Lin(19775974) 12:53:52
利益
BastEt 7 (43791167) 12:56:00
利益,利用
Linker.Lin(19775974) 12:54:54
比如WIndows系统对C++的支持
BastEt 7 (43791167) 12:56:48
难道真是如精英主义们认为的,他们决定一切,我们接受安排。
Linker.Lin(19775974) 12:55:18
是啊
完全实现(39025058) 12:56:03
没如没有WINDOWS平台,我们这些所谓的软件工程师的工资会高很多
Linker.Lin(19775974) 12:56:10
不会
BastEt 7 (43791167) 12:58:00
不会有这么多软件工程师的需求。
Linker.Lin(19775974) 12:56:29
没有Windows的话,应用开展不了
Linker.Lin(19775974) 12:56:37
还是IBM的天下
Linker.Lin(19775974) 12:56:42
基本靠贿赂
Linker.Lin(19775974) 12:56:59
IBM基本上是一家贿赂公司
Linker.Lin(19775974) 12:57:38
现在她的Power G6的性能没有Intel的好
Linker.Lin(19775974) 12:57:58
IBM还把PowerG6放到大型机里面忽悠人
Linker.Lin(19775974) 12:58:09
买的贵1000倍有余
Linker.Lin(19775974) 12:58:12
卖
BastEt 7 (43791167) 13:00:22
真黑啊。
Linker.Lin(19775974) 12:58:52
SUN更黑
BastEt 7 (43791167) 13:00:33
sun,hp,ibm,sgi这些公司感觉都黑。
Linker.Lin(19775974) 12:59:00
是啊
wildfire(13518116) 12:59:09
他们确实有自己的技术。
BastEt 7 (43791167) 13:00:56
感觉跟中国市场上浙江货取代以前的国有货一样。
Linker.Lin(19775974) 12:59:22
微软算比较是在的了
Linker.Lin(19775974) 12:59:25
实在
漂舟(15282890) 12:59:26
除了技术,能做到这一步,
都是黑中的极品。
wildfire(13518116) 12:59:30
但是把技术弄的高端了,就是为了高价
wildfire(13518116) 13:00:09
确实我现在也觉得ibm的刀片配套得都不错。当然,cpu是intel的。
Linker.Lin(19775974) 13:00:13
长远来看,个人用户这块,Windows和Apple必将二分天下
硕鼠(492943470) 13:00:27
Linker.Lin(19775974) 13:00:29
因为,只有这两家不靠贿赂
硕鼠(492943470) 13:00:34
两分?
硕鼠(492943470) 13:00:48
Apple有多少个人用户?
Linker.Lin(19775974) 13:00:48
Novell Redhat 红旗 都是靠贿赂
漂舟(15282890) 13:00:56
苹果机好像很贵 ?
Linker.Lin(19775974) 13:01:08
Linux厂商的贿赂额度很大
Linker.Lin(19775974) 13:01:26
基本上单价的80%用来贿赂
BastEt 7 (43791167) 13:03:05
ms肯定现在也贿赂中国政府的,像上次的“所有的机器不准裸机”摆明了是针对盗版WIN来的。
Linker.Lin(19775974) 13:01:35
对的
Linker.Lin(19775974) 13:02:11
总体上来看,Windows和Apple必将成为计算机界的麦当劳和KFC
硕鼠(492943470) 13:02:34
Apple差太多了
wildfire(13518116) 13:02:37
问题是ms不生产硬件。硬件从哪里来?
Linker.Lin(19775974) 13:02:47
这个不是关键
Linker.Lin(19775974) 13:02:56
Apple也不做硬件
Linker.Lin(19775974) 13:03:03
只是设计和软件
硕鼠(492943470) 13:03:04
Apple当然做硬件
BastEt 7 (43791167) 13:04:46
可以找台湾代工。
Linker.Lin(19775974) 13:03:13
富士康代工
BastEt 7 (43791167) 13:04:54
MS周边也有不少。
Linker.Lin(19775974) 13:03:39
XBOX和iPod在一家工厂生产
BastEt 7 (43791167) 13:05:21
但最终生产估计也是中国或者台湾出来的。
Linker.Lin(19775974) 13:03:47
嗯
Linker.Lin(19775974) 13:04:30
现在,Windows一通天下的,Apple盘踞诸岛的格局就要形成了
Linker.Lin(19775974) 13:04:43
IBM可能不久就推出实物业务
Linker.Lin(19775974) 13:04:59
全力经营"忽悠"主业
Linker.Lin(19775974) 13:05:07
咨讯
BastEt 7 (43791167) 13:06:48
推->退吧?
Linker.Lin(19775974) 13:05:16
嗯
Linker.Lin(19775974) 13:05:31
IBM的主要利润来自咨询
BastEt 7 (43791167) 13:07:18
一些高端业务可能他还会做吧?
Linker.Lin(19775974) 13:05:46
软件都是通过资讯搭售的
BastEt 7 (43791167) 13:07:26
像什么xbox的里面的心片?
Linker.Lin(19775974) 13:06:00
那个可能会剥离吧
Linker.Lin(19775974) 13:06:28
IBM最后肯定走麦肯锡的路
BastEt 7 (43791167) 13:08:16
那块业务我觉得比较重要:1、政府国防需要,2、利润大。
BastEt 7 (43791167) 13:08:22
3、没有什么竞争 。
Linker.Lin(19775974) 13:06:46
嗯
Linker.Lin(19775974) 13:06:49
这倒是
BastEt 7 (43791167) 13:09:14
我觉得他的思路基本上是从竞争激烈的行业退出。
Linker.Lin(19775974) 13:07:47
SUN在国防业做的很好
Linker.Lin(19775974) 13:08:04
嗯,IBM是个恐龙
BastEt 7 (43791167) 13:10:01
名字叫:国际商用电器。
BastEt 7 (43791167) 13:10:08
估计很多个业务 的。
BastEt 7 (43791167) 13:10:51
美国最早很多公司好像卖加法机,避雷针发财了。
Linker.Lin(19775974) 13:09:20
IBM鼓吹开源害死很多小公司,在国外的名声很差的,同时自己还申请专利,又开源又专利本身就是矛盾的
BastEt 7 (43791167) 13:11:25
MS在中国也是这样搞的,可悲的是真正意识到的不多,都是被IBM利用了。
Linker.Lin(19775974) 13:10:01
是啊
BastEt 7 (43791167) 13:12:16
要真的把MS搞倒了,最终受损害的还是我们。
Linker.Lin(19775974) 13:10:44
对的
BastEt 7 (43791167) 13:12:43
linux则不同,LINUX基本上是控制在这几家比较黑的公司手上的。
Linker.Lin(19775974) 13:11:05
MS倒闭了,用户可能很多年都不买新电脑
Linker.Lin(19775974) 13:11:28
Linux的有可能会闭源
Linker.Lin(19775974) 13:11:37
如果GNU3失败的话
BastEt 7 (43791167) 13:13:20
想象得到,要是MS倒了,linux不一定会闭源,但可能会分成两个分支。
BastEt 7 (43791167) 13:13:51
一支很垃圾,开源的,普通人用,一支用起来很好用,但是闭源的(其实只要一个好的GUI桌面就可以了)
Linker.Lin(19775974) 13:12:13
欧洲人很傻
Linker.Lin(19775974) 13:12:17
支持Linux
Linker.Lin(19775974) 13:12:28
结果自己的操作系统无法发展
BastEt 7 (43791167) 13:14:21
表面上ms和linux之战,暗地里还是大公司之间的争斗。
Linker.Lin(19775974) 13:12:49
是啊
BastEt 7 (43791167) 13:14:42
我把这段话贴到我的BLOG上去可以吧?
Linker.Lin(19775974) 13:13:05
国内的人很少从商业层面思考
Linker.Lin(19775974) 13:13:18
都是学生层次的思考力
Linker.Lin(19775974) 13:13:26
可以啊
Linker.Lin(19775974) 13:13:46
BastEt 7 (43791167) 13:15:32
欧州不一定呆,有可能也受了IBM的钱了。
wildfire(13518116) 13:14:10
国内都白痴啊
wildfire(13518116) 13:14:13
我算见识过了
wildfire(13518116) 13:14:20
跟他讲道理,还跟你急
Linker.Lin(19775974) 13:14:33
唉
BastEt 7 (43791167) 13:16:28
用传销的方式,直接喊几声口号。
BastEt 7 (43791167) 13:16:32
说不定他就相信了。
Linker.Lin(19775974) 13:15:04
2007年8月30日
#
现在开源感觉真可怜,感觉是被少数厂商操纵,利用我们大部分人的人来做他们想做的事情,反对他们想反对的敌人。
真正意义上的开源从很久以前就存在着(起码是bsd时代),为什么那个时候没人关心?
为什么突然一下子开源这个词变得这么热门,都快赶得上超女了。
原因很简单:有厂商别有用意的要利用开源。政治历史书上最多的是普通民众被利用,少数精英攫取成果的事情,现在又一次重演了。
很多人估计又一次被其他人当枪使了。
想起前段时间的oopxml和什么的标准之争,赢了或者输了,对我们中国人来说又有什么意义。不管哪方赢了我们都要给钱,我认为最好的做法是不要标准,或者是不管什么做法,只要允许其他人也使用就够了。
2007年8月22日
#
“QQ用户多是学生,MSN更适合上班族”,很多人的这个约定俗成的看法恐怕要被打破了。腾讯内部的统计显示,在2007年第三季度,QQ的同时在线人数突破3000万,去年同期是2000万,同比增长了50%。而艾瑞市场咨询进行的第二季度我国即时通讯(IM)市场调查显示,与人们传统认知有所不同的是,QQ在上班族中的市场占有率也达到了75.1%,而MSN的占有率仅为16.9%。
QQ平均好友数达94个
腾讯首次披露了即时通讯工具在应用方面的调查数据,中国即时通讯用户平均的即时通讯联系人数量在50位左右,有30.6%的用户拥有100位以上的即时通讯联系人,上述这两个数据,都是指国内的所有即时通讯用户。而QQ用户的平均好友数约为94个。统计还显示,在2007年第三季度,QQ的同时在线人数突破3000万,去年同期是2000万,同比增长了50%。截止到2007年6月,QQ总活跃账户数超过了2.7亿。
MSN并未“占领”上班族
尽管人们的传统观念认为,白领和写字楼办公群体首选MSN,而年轻人、学生网民首选QQ,但是,艾瑞市场咨询的数据却显示,QQ在家庭中的占有率达到了79.7%。在公司和办公场所,QQ的占有率达72.1%,在上班族人群中的市场占有率也达到了75.1%,高于MSN的20.1%和16.9%。可见,在上班族这一市场,MSN并未能独领风骚。
眼下网上聊天市场品牌林立,除了QQ和MSN,还有Skype、阿里旺旺、搜狐搜Q、新浪UC、谷歌Gtalk、雅虎通等,分析人士认为,即时通讯工具使用流程和功能的合理设计,将对厂商争夺市场份额提供重要帮助。据了解,除了文字聊天、即时通讯文件传输等基本功能,手机聊天、语音聊天、视频聊天、短信捆绑、群聊、网络硬盘等功能,逐渐成为“标配”。
上班族最常用的IM工具比例

信报记者 贺文华
2007年7月11日
#
2007年7月2日
#
http://blog.vckbase.com/Files/BastEt/Nant.rar