<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fjclc2008的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fjclc2008</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fjclc2008]]></copyright><item><title><![CDATA[初识pe结构--手写可执行程序]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/19959521</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/19959521</guid><author>fjclc2008</author><pubDate>Wed, 26 Feb 2014 07:45:52 +0800</pubDate><description><![CDATA[【详细过程】
      
        最近，学习PE结构的知识。之后深有感触，随即便萌发了不依赖任何开发环境和编译器，纯手工写一个小程序的念
  头。为了简单而又令所有学习程序开发的人感到亲切，就写一个Hello World! 程序吧...
    
        在这里，我们首先复习一下Win32可执行程序的大体结构，就是通常所说的PE结构。
    PE 的意思就是Port]]></description><category></category></item><item><title><![CDATA[从内存中加载动态库]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/19922329</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/19922329</guid><author>fjclc2008</author><pubDate>Tue, 25 Feb 2014 16:58:17 +0800</pubDate><description><![CDATA[typedef   BOOL (__stdcall *ProcDllMain)(HINSTANCE, DWORD,  LPVOID );

class CMemLoadDll
{
public:
CMemLoadDll();
~CMemLoadDll();
BOOL    MemLoadLibrary( void* lpFileData , int DataLength);  // ]]></description><category></category></item><item><title><![CDATA[直接运行内存中的程序]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/19577393</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/19577393</guid><author>fjclc2008</author><pubDate>Thu, 20 Feb 2014 23:18:53 +0800</pubDate><description><![CDATA[#include "stdafx.h"  
#include 
  
typedef IMAGE_SECTION_HEADER (*PIMAGE_SECTION_HEADERS)[1];   
  
// 计算对齐后的大小   
unsigned long GetAlignedSize(unsigned long Origin, unsigned long Alignment)   ]]></description><category></category></item><item><title><![CDATA[从内存中加载并启动一个exe]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/19576049</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/19576049</guid><author>fjclc2008</author><pubDate>Thu, 20 Feb 2014 22:50:55 +0800</pubDate><description><![CDATA[windows似乎只提供了一种启动进程的方法：即必须从一个可执行文件中加载并启动。

而下面这段代码就是提供一种可以直接从内存中启动一个exe的变通办法。

用途嘛, 也许可以用来保护你的exe，你可以对要保护的 exe 进行任意切分、加密、存储，

只要运行时能将exe的内容正确拼接到一块内存中，就可以直接从内存中启动，而不必不安全地去

生成一个临时文件再从临时文件启动进程。另]]></description><category></category></item><item><title><![CDATA[VC释放EXE资源文件]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/19575895</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/19575895</guid><author>fjclc2008</author><pubDate>Thu, 20 Feb 2014 22:49:08 +0800</pubDate><description><![CDATA[1、工程A要释放的程序是一个简单的MessageBox，源码如下：

 





[cpp] view
 plaincopyprint?






#include   
  
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nSho]]></description><category></category></item><item><title><![CDATA[开源日志系统 log4c 使用心得+总结]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/8160592</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/8160592</guid><author>fjclc2008</author><pubDate>Thu, 08 Nov 2012 09:01:15 +0800</pubDate><description><![CDATA[本人最近研究了一下开源的日志系统log4c。简单总结一下：

一、安装
 我看网上好多人介绍log4c安装的时候都说有两个步骤：先下载expat安装包并安装expat，然后下载log4c安装包并安装log4c。这么看来，log4c是依赖expat的。但是有时候我们不想使用的日志系统还要依赖别的库，毕竟现在的开源日志系统很多，这样一来log4c就没有那么大的优势了。所以我仔细看了log4c的R]]></description><category></category></item><item><title><![CDATA[PHP解析RSS]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/8063136</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/8063136</guid><author>fjclc2008</author><pubDate>Fri, 12 Oct 2012 09:17:22 +0800</pubDate><description><![CDATA[[代码] php代码






01









02
  








03
require 
"XML/RSS.php"; 








04
$rss 
= new XML_RSS("http://php.net/news.rss");









05
$rss->p]]></description><category></category></item><item><title><![CDATA[php生成RSS类]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/8063126</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/8063126</guid><author>fjclc2008</author><pubDate>Fri, 12 Oct 2012 09:16:05 +0800</pubDate><description><![CDATA[002
class 
RSS 








003
{ 








004
    /**









005
     +----------------------------------------------------------









006
     * RSS频道名]]></description><category></category></item><item><title><![CDATA[VC6.0调试技巧]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/8001427</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/8001427</guid><author>fjclc2008</author><pubDate>Thu, 20 Sep 2012 19:01:46 +0800</pubDate><description><![CDATA[一、基本的调试设置

1、CTRL+F10：运行到当前光标处
2、设置
为了调试一个程序，首先必须使程序中包含调试信息。一般情况下，一个从AppWizard创建的工程中包含的Debug Configuration自动包含调试信息，但是是不是Debug版本并不是程序包含调试信息的决定因素，程序设计者可以在任意的Configuration中增加调试信息，包括Release版本。
为了增加调试]]></description><category></category></item><item><title><![CDATA[Linux下用gcc生成静态库和动态库]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7921163</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7921163</guid><author>fjclc2008</author><pubDate>Wed, 29 Aug 2012 17:05:13 +0800</pubDate><description><![CDATA[一、基本概念


1.1
什么是库 

在
windows
平台和
linux
平台下都大量存在着库。


本质上来说库是 一种可执行代码的二进制形式，可以被操作系统载入内存执行。


由于
windows
和
linux
的平台不同（主要是编译器、汇编器和连接器 的不同），因此二者库的二进制是不兼容的。


本文仅限于介绍
linux
下的库。]]></description><category></category></item><item><title><![CDATA[Linux下动态库的生成及链接方法]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7921122</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7921122</guid><author>fjclc2008</author><pubDate>Wed, 29 Aug 2012 17:04:39 +0800</pubDate><description><![CDATA[Linux下动态库的生成及链接方法 （1）
      Linux 下动态库文件的扩展名为".so"（Shared Object）。按照约定，所有动态库文件名的形式是libname.so（可能在名字中加入版本号）。这样，线程函数库被称作 libthread.so。静态库的文件名形式是libname.a。共享archive的文件名形式是libname.sa。共享archive只是一种过渡形式，帮助]]></description><category></category></item><item><title><![CDATA[新一代跨平台C++开发工具Code::Blocks简介]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7856777</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7856777</guid><author>fjclc2008</author><pubDate>Sun, 12 Aug 2012 12:42:37 +0800</pubDate><description><![CDATA[Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境，目前1.0版正在紧锣密鼓地开发过程中。我们正殷切期待Code::Blocks 1.0的正式发布，不过当前1.0 revision 2220已经处于绝大部分功能可用状态。

相比于QT designer这类界面设计工具而言，Code::Blocks是完整的开发环境；相比于基于Delphi的Dev-C++共享C++ID]]></description><category></category></item><item><title><![CDATA[C++跨平台开发方法/工具]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7856776</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7856776</guid><author>fjclc2008</author><pubDate>Sun, 12 Aug 2012 12:41:44 +0800</pubDate><description><![CDATA[1. cygwin + vc

   vc当然用于来开发/调试windows程序的部分
   cygwin是在windows平台模拟linux的工具，核心是cygwin1.dll， cygwin带的大部分工具，比如gcc/gdb都depend on这个dll。
   从cygwin.com上下载setup.exe,然后从网上下载安装，比较慢，我花了大概一个下午才装好，记住下gcc/g++（]]></description><category></category></item><item><title><![CDATA[一个简单组件的制作过程——delphi教程]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7798381</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7798381</guid><author>fjclc2008</author><pubDate>Sun, 29 Jul 2012 09:24:15 +0800</pubDate><description><![CDATA[接下来要动手来做一个组件了，我想了一个计数器组件，功能方面是比较简单的，但这不是本章的重点，这一章的重点是说明一个组件的制作全过程。在其中可以学到很多组件制作的技巧，当然这些也是我从书上学得的。好了，开始制作吧：

 

这是一个可以计数的组件，为了简单，我以秒为单位，当开始时，他就从0开始增加，并显示出来，到3600时，它又回到0，如此循环。当然它也可以停止，暂停，继续。另外，他还有一个]]></description><category></category></item><item><title><![CDATA[Delphi关于多线程同步的一些方法]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7771851</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7771851</guid><author>fjclc2008</author><pubDate>Sun, 22 Jul 2012 09:15:16 +0800</pubDate><description><![CDATA[线程是进程内一个相对独立的、可调度的执行单元。一个应用可以有一个主线程，一个主线程可以有多个子线程，子线程还可以有自己的子线程，这样就构成了多线程应用了。由于多个线程往往会同时访问同一块内存区域，频繁的访问这块区域，将会增加产生线程冲突的概率。一旦产生了冲突，将会造成不可预料的结果（比如：该公用区域的值是不可预料的），可见处理线程同步的必要性。
　　 (注意：本文中出现的所有代码都是用DELPH]]></description><category></category></item><item><title><![CDATA[WaitForSingleObject & WaitForMultipleObjects]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7705756</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7705756</guid><author>fjclc2008</author><pubDate>Sat, 30 Jun 2012 22:35:23 +0800</pubDate><description><![CDATA[这两个第一个是等一个信号，第二个可以等多个信号。用WaitForSingleObject这种方式可以暂时让线程等待，什么也不做，直到这个语句有返回值的时候这个线程就可以继续执行了，但是当什么时候他可以返回值，退出这个等待状态哪 ？下面我们详细讲解一下；它的原形：
DWORD WaitForSingleObject(
HANDLE hHandle,        // handle to obj]]></description><category></category></item><item><title><![CDATA[Delphi开发的WebService如何和Tomcat集成]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7688293</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7688293</guid><author>fjclc2008</author><pubDate>Sun, 24 Jun 2012 22:33:00 +0800</pubDate><description><![CDATA[随着B/S程序得到越来越广的应用，Delphi由开发C/S程序的主战场逐步转移到以开发WebService后台服务程序为主。由于我们前台通常用JSP作为脚本语言，因此Tomcat作为简单的Web服务器使用也比较广泛。
　　Delphi开发的WebService主要有4种发布形式：
　　1、ISAPI/NSAPI的DLL，一般必须集成与IIS服务器，由于IIS的漏洞太多，我们一般不使用。]]></description><category></category></item><item><title><![CDATA[Delphi开发WebService给ASP.NET调用]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7688279</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7688279</guid><author>fjclc2008</author><pubDate>Sun, 24 Jun 2012 22:23:58 +0800</pubDate><description><![CDATA[说明：
1、本文档分3个部分，分别为：
用Delphi编写WebService
在IIS下部署WebService
在ASP.NET中调用webservice
2、开发环境为Windows XP SP2、Delphi 7.0、IIS 5.1、VS 2008（C#）
 
一、用Delphi编写WebService
第1步：File → New → Other → WebService]]></description><category></category></item><item><title><![CDATA[Delphi7下开发Webservice以及部署问题概述]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7688271</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7688271</guid><author>fjclc2008</author><pubDate>Sun, 24 Jun 2012 22:19:43 +0800</pubDate><description><![CDATA[Delphi7支持五种部署方式来开发Webservice，分别介绍：
Isapi是在IIS下运行；
CGI是可以在IIS和apache下运行；我自己只在iis下部署了，没试apache。
Apache 1.x需要部署到apache1的版本下；
Apache2.x需要部署到apache2；
Debugger 是可以在方便Delphi中继承调试的；
以上可以在编写完业务代码后，再根据部署环]]></description><category></category></item><item><title><![CDATA[Delphi Web Service 的创建及调试运行]]></title><link>https://blog.youkuaiyun.com/fjclc2008/article/details/7687886</link><guid>https://blog.youkuaiyun.com/fjclc2008/article/details/7687886</guid><author>fjclc2008</author><pubDate>Sun, 24 Jun 2012 18:16:15 +0800</pubDate><description><![CDATA[一、Web Service程序创建
1.        新建Web Service工程,选择SOAP ServerApplication.


2.        选择Web AppDebugger executable,Class Name中添入类名“Demo1”.


3.        单击“Yes” 按钮.


4.        Service name中添入“Mai]]></description><category></category></item></channel></rss>