坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Category Archives: WEB相关

WEB相关记录了web相关的运营、前端技术等等。

extern--C/C++语言中表明函数和全局变量作用范围

extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字. 它告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。 1。对于extern变量来说,仅仅是一个变量的声明,其并不是在定义分配内存空间。如果该变量定义多次,会有连接错误 2。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。也就是说c文件里面定义,如果该函数或者变量与开放给外面,则在h文件中用extern加以声明。所以外部文件只用include该h文件就可以了。而且编译阶段,外面是找不到该函数的,但是不报错。link阶段会从定义模块生成的目标代码中找到此函数。 3。与extern对应的关键字是static,被它修饰的全局变量和函数只能在本模块中使用。 后面转载,阅读中。。。。。。。 被extern "C"修饰的变量和函数是按照C语言方式编译和连接的; 未加extern “C”声明时的编译方式   首先看看C++中对类似C的函数是怎样编译的。 作为一种面向对象的语言,C++支持函数重载,而过程式语言C则不支持。函数被C++编译后在符号库中的名字与C语言的不同。例如,假设某个函数的原型为: void foo( int x, int y ); 该函数被C编译器编译后在符号库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字(不同的编译器可能生成的名字不同,但是都采用了相同的机制,生成的新名字称为“mangled name”)。 _foo_int_int这样的名字包含了函数名、函数参数数量及类型信息,C++就是靠这种机制

Continue reading

Posted in WEB相关 | Tagged | 6 Comments

大学生创业案例分析讲稿整理

三、创业在“上市”后结束(55分钟) 1、创业5年后“上市”者的命运 在2005年已经成功在美国纳斯达克上市的公司。公司在不到五年的时间里资产增长了800倍。使一家注册资本仅为100万的小公司,成长为一个总资本超过8个亿的大企业。 无名毕业后分在一家中国很著名的军工研究所从事科技研究工作。认为自己属于那种天分很高的人,很多新东西他都一学就会,对于人际关系的把握更是无师自通。 当时他知道国家有一个“军转民”的精神,所在的研究所要变成一个普通企业性质的机构了。从此以后,激烈的市场竞争将成为这个以前在“温室”里面长大的研究所,要面临的不可避免的问题。生存发生困难! 在这时候,无名看到了一个重要的商业机会。他知道在目前这种情况下,能够利用研究所的资源帮助研究所生存下去的人将可以得到领导的大力支持。 无名于是找到所领导,以自筹30万元现金入股为条件和所里联合成立了一家公司。双方各拥有这家公司的50%股权。 在这家注册资本金为100万元的公司里,研究所投入的都是一些空闲办公场所和试验场地之类的闲置固定资产,公司能够使用的现金只有无名自己从家中以及朋友手里筹措到的30万元。 无名之所以这样勇敢的破釜沉舟,是因为他心里已经有了比较完整的公司发展方向。当时俄罗斯有家公司生产一种数字化医疗设备,这种设备得到过曾去俄罗斯访问的中国中央最高领导的高度赞扬。 无名经过调研,知道相关同类的数字化医疗设备在中国的市场上只有通用公司一家的产品,而这种产品的国内市场销售前景十分看好。俄罗斯生产的产品在质量和各种性能指标上和通用公司的产品属于同等级别,价格却仅为通用公司产品的1/2左右。 这家俄罗斯公司以前曾经

Continue reading

Posted in WEB相关 | Tagged , , | Leave a comment

大学生创业案例分析讲稿整理

课题:大学生创业案例分析 一、大学生创业开场白(10分钟) 1、在中国,大学生创业活动的意义     美国很多最大的IT公司,微软、苹果、惠普、DELL、CISCO都是在20年前创业成功的,此后的20年,几乎再也没有这样大的IT公司。市场环境越来 越好。为什么没有?以后的创业者怎么了?我们中国的老祖宗做事情讲究探究事情背后的道!也就是背后的规律。那么这种情况产生背后的规律是什么呢?谋事在 人、成事在天。天时。IT市场剧烈变化造就了创业机会!以后没有了天时,再好的企业家也玩不成那么大规模的企业。 中国现在的情况和那个时候的美国IT领域的情况很类似,还好!市场像一个从一岁开始迅速长大的孩子,每年都有全新的需要,从衣服、鞋子到饮食等 衣食住行全都会有翻天覆地的变化,所以市场需求的这种剧烈变化导致了大量的机会!现在是创业最好机会!在大变革出现的时候,美国IT领域曾经的仙童、 NOVELL、莲花这样的全球著名企业可以迅速的被微软、苹果这样的创业公司几年内打败。 中国现在也是一样,你们看到的盛大的陈天桥、网易的丁磊都是这样的例子,两、三年内就能够从一家小创业企业迅速成为著名的大公司。他们看到了机会,适应了天时! 你们能够坐在这里,应该就是想抓住机会的人!有好的想法就是向成功迈进的第一步! 那么,这种情况下,我们国内大学生创业的情况怎么样呢?用我的话:特别的不好!去年中国民营企业500强的老板在北京聚会。这些人应该都算是中国成功的创业者。其中绝大部分人的年龄都在50岁以下。可是,这些人里面的现象:很少有人上过大学! 从1977年咱们国家恢复以后,到今年正好30年,也就是说那时候20岁上大学

Continue reading

Posted in WEB相关 | Tagged | 4 Comments

LiteIM/FreePlus的取IP代码

这是LiteIM/FreePlus的取IP代码,感兴趣的朋友看看吧. runjin的是汇编版本,这是c版本,希望有更多的人能读懂.后来者,愿它对你有益.闪了. 源码: static const DWORD UnknownSig=0x1E3A86BA; static const LPSTR szQQUSER_DYNAMIC_DATA="QQUSER_DYNAMIC_DATA"; typedef void( *pPrepareDynData)(LPVOID IQQData,LPSTR szCmd,const DWORD* szSig,LPVOID* pDynamicData); VOID PrepareData(LPVOID IQQData,LPVOID* pDynamicData) { pPrepareDynData PrepareDynData=(pPrepareDynData)*(LONG *)(*(LONG *)IQQData+0x54); PrepareDynData(IQQData,szQQUSER_DYNAMIC_DATA,&UnknownSig,pDynamicData); } DWORD GetDyncDWORD(LPVOID DynamicData, int iOffset,LPCSTR szCmd) { DWORD dwRet=0; __asm …

Continue reading

Posted in WEB相关 | Tagged | Leave a comment

intel汇编与AT&T的区别

[文章作者:陈臻 本文版本:v1.0 最后修改:2006.10.26 转载请注明原文链接:http://www.54chen.com/c/30] 在设计mynet的时候用到这个,其实二者区别不是太多,总结一下有下面几点: 1.intel的mov 变成了movb movl mov (后面对应8 16 32位的操作位) ) 2.寄存器都加百分号 3.操作都是反过来的:mov al,cl(inter)==movb %cl,%al 而在gcc里的内联汇编也有不同,用起来也是挺好用的,看例~ main(){ char tmp; __asm__( "movb %1, %%cl;" "movb %%cl, %%dl;" "shl $7,%%edx;" "movb %%cl,%%al;" "and $2,%%eax;" "shr $1,%%al;" "or %%eax,%%edx;" "movb %%cl,%%al;" …

Continue reading

Posted in WEB相关 | Tagged , | Leave a comment

linux C获取机器MAC及IP的两个函数

[文章作者:陈臻 本文版本:v1.0 最后修改:2006.10.25 转载请注明原文链接:http://www.54chen.com/c/28] 以下两函数分别将mac ip通过memcpy至mac_addr和ip_addr char * get_mac() { int nSocket; struct ifreq struReq; nSocket = socket(PF_INET,SOCK_STREAM,0); memset(&struReq,0,sizeof(struReq)); strncpy(struReq.ifr_name, "eth0", sizeof(struReq.ifr_name)); ioctl(nSocket,SIOCGIFHWADDR,&struReq); close(nSocket); memcpy(mac_addr,(char *)ether_ntoa(struReq.ifr_hwaddr.sa_data),strlen((char *)ether_ntoa(struReq.ifr_hwaddr.sa_data))); return 0; } char * get_ip() { int sock; struct sockaddr_in sin; struct …

Continue reading

Posted in WEB相关 | Tagged , , | Leave a comment

linux下系统托盘的实现

[文章作者:陈臻 本文版本:v1.0 最后修改:2006.10.13 转载请注明原文链接:http://www.54chen.com/c/24] 在gnome中国的网页上找到这个内容,他们把它叫做“通知功能图标”。它是一个在未来版本中决定发布的已实现包。 http://www.gnome-cn.org/documents/tutorial/system-tray-icon-application/implement-your-tray 具体实现前需要在下载两个开发补丁源文件,然后包含头文件到你的文件中。 具体代码: void create_tray (tray_demo * tray) { GtkWidget *image; GtkWidget *event_box; GtkTooltips *tooltips; EggTrayIcon *tray_icon; tooltips = gtk_tooltips_new (); tray_icon = egg_tray_icon_new ("Tray icon demo"); event_box = gtk_event_box_new (); gtk_container_add (GTK_CONTAINER (tray_icon), event_box); …

Continue reading

Posted in WEB相关 | Tagged , , | Leave a comment
Page 4 of 41234