本站首页    管理页面    写新日志    退出


«October 2018»
123456
78910111213
14151617181920
21222324252627
28293031


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9097510
建立时间:2004年12月20日




[c++]编译apache的几个问题
原创空间,  文章收藏,  软件技术,  电脑与网络

邢红瑞 发表于 2008-11-4 18:31:00

吃烧饼没有不掉芝麻的,做网站没有不受攻击的,这些人没事干,给我做的网站做压力测试,但是老大对产生的垃圾数据,很不满意,必须想办法防止spam。看了看apache有几个模块,放到网上一试,多少有些问题,一时又看不出问题在哪里,需要调试。我真的不喜欢使用gdb调试apache,还必须使用-x,来防止apache分离。只好使用windows下的调试工具了。windows下编译apache 也不是很简单,我记得 vc6编译apache 1.3,啥都用不用改。vc6编译apache 2.0,需要新的PSDK,因为需要新的ldap函数。vc8编译,apache 2.2,出现     正在创建命令行“rc.exe /d "_DEBUG" /d "APP_FILE" /d "BIN_NAME="httpd.exe"" /d "LONG_NAME="Apache HTTP Server"" /d "ICON_FILE="apache.ico"" /d "_VC80_UPGRADE=0x0600" /l 0x409 /I "build\win32" /I "./include" /I "./srclib/apr/include" /fo".\Debug/httpd.res" ".\build\win32\httpd.rc"”输出窗口     正在编译资源...fatal error RC1107: invalid usage; use RC /? for Help项目 : error PRJ0002 : 错误的结果 1 (从“D:\Program Files\Microsoft Visual Studio 8\VC\bin\rc.exe”返回)。昏倒。原因是工程打开有问题,.sln 文件转为 .vcproj时,运行perl srclib\apr\build\cvtdsp.pl -2005,vc编译东西居然需要perl。其实运行nmake -f makefile.win USEMAK=1  就可以了。vc编译居然需要命令行,汗,我不是在写驱动。编译apr模块的时候,更为恼火。测试代码#include "stdafx.h"#include "apr_pools.h"#include <stdio.h>#include <new> int main(){    apr_pool_t *root;    apr_pool_initialize();//初始化全局分配子(allocator),并为它设置mutext,以用于多线程环境,初始化全局池,指定全局分配子的owner是全局池    apr_pool_create(&root,NULL);//创建根池(默认父池是全局池),根池生命期为进程生存期。分配子默认为全局分配子    {        apr_pool_t *child;        apr_pool_create(&child,root);//创建子池,指定父池为root。分配子默认为父池分配子        void *pBuff=apr_palloc(child,sizeof(int));//从子池分配内存        int *pInt=new (pBuff)  int(5);//随便举例下基于已分配内存后,面向对象构造函数的调用。        printf("pInt=%d\n",*pInt);        {            apr_pool_t *grandson;            apr_pool_create(&grandson,root);            void *pBuff2=apr_palloc(grandson,sizeof(int));            int *pInt2=new (pBuff2)  int(15);            printf("pInt2=%d\n",*pInt2);                apr_pool_destroy(grandson);        }        apr_pool_destroy(child);//释放子池,将内存归还给分配子    }    apr_pool_destroy(root);//释放父池,    apr_pool_terminate();//释放全局池,释放全局allocator,将内存归还给系统 getchar();    return 1;}路径中加载include文件,link时函数找不到,看了看apache的运行文件,发现有libapr-1.dll,那个lib就是libapr-1.lib,加了一行#pragma comment(lib, "libapr-1.lib")。我记得以前是静态库是s结尾的,现在似乎无法编译静态库了。


阅读全文(13285) | 回复(4) | 编辑 | 精华
 


回复:编译apache的几个问题
原创空间,  文章收藏,  软件技术,  电脑与网络

柔情(游客)发表评论于2012-12-25 15:20:29

你啥时候编译的啊。我现在编译出来的用不了。奇怪。有兴趣一起研究的请加QQ群:5415650。一起讨论MEMPOOL的使用。


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:编译apache的几个问题
原创空间,  文章收藏,  软件技术,  电脑与网络

轻轻(游客)发表评论于2010-5-19 10:33:55

项目 : error PRJ0002 : 错误的结果 1 (从“D:\Program Files\Microsoft Visual Studio 8\VC\bin\rc.exe”返回)。到底怎么解决啊,我也遇到了!等待回答!!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:编译apache的几个问题
原创空间,  文章收藏,  软件技术,  电脑与网络

HD(游客)发表评论于2008-11-5 6:50:16

哈哈,不错。这样的敢于深入,精神可嘉呀

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.078 second(s), page refreshed 144152869 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号