奥运倒计时: 2008 中国挺住,中国加油! 全国人民对四川汶川大地震遇难同胞的深切哀悼! 设为首页 加入收藏
点击进入太平洋安全网首页
论坛登陆 用户名: 密码:
首页 新闻资讯 文章中心 黑客资源 黑客点睛 安全防护 软件下载 动画教程 会员咨询 技术问答 论坛社区
文章 下载 图片
文章   | 电脑知识 | 网络知识 | 菜鸟入门 | 入侵教程 | 黑客攻防 | 黑客编程 | 原创精华 | 黑客人物 | 黑客技术 | 提权技术 | 跨站技术 | 渗透技术 | 鸽子专题 |
 您现在的位置: 太平洋安全网 >> 文章 >> 黑客编程 >> 正文

在Visual C++中使用内联汇编2

作者:放弃    文章来源:网上收集    点击数:    更新时间:2008-4-3
二、#pragma 指示符

   
嗯,今天说点什么呢?昨天的话题中说到了使用“#pragma”指示符设定连接器参数来导出函数,其实“#pragma”的功能远远不止于此,大部分我都没用过,今天就随便说说的“#pragma”指示符中我所使用过一些东东吧。

    1.指示文件只包含一次
    在头文件中,一般在整个工程中我们只要包含一次就够了,但是如果我在多个 .c/.cpp 文件中都要包含着个头文件,比如 Windows.h,那很多声明等等岂不是有两次了?解决这个问题的传统的方法是在头文件开始出用 #define 定义一个宏,比如 Windows.h 中:
    
#ifndef _WINDOWS_
#define _WINDOWS_

    然后在文件结为加上 #endif,这样就可以避免被包含多次。但是这样的后果是代码的可读性较差 (个人观点),VC 给我们提供了另外一个途径,那就是在文件的前面加上:

#pragma once”

    是不是很方便?

    2.使警告无效
    有时候我们不得不对变量进行强制转换,由此引来编译器的一番警告,特别是 C++ 中,类型检查相对于 C 更为严格。这虽然不影响什么,但是看起来多不爽——我是故意要这样的,你警告什么!:)这时候你看到警告类型,比如“warning C4311: “类型转换” : 从“HHOOK”到“
BOOL”的指针截断”,在前面加上:

#pragma warning(disable: 4311)

    编译器就没话说了:)。

    3.指定连接要使用的库
    比如我们连接的时候用到了 WSock32.lib,你当然可以不辞辛苦地把它加入到你的工程中。但是我觉得更方便的方法是使用 
#pragma 指示符,指定要连接的库:

#pragma comment(lib, "WSock32.lib")

    4.显示编译消息
    没多少用处,举个例子吧:

#ifdef _DEBUG
#pragma message("编译连接为调试模式...")
#endif // _DEBUG


    以上只是冰山一角,具体的使用方法,请参看 MSDN

文章录入:二少    责任编辑:放弃 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     推荐文章
    推荐文章一句话木马用Upfile.vbs脚本
    推荐文章软件破解教程-第6章第3节 加密算法5
    推荐文章软件破解教程-第6章第3节 加密算法4
    推荐文章软件破解教程-第6章第3节 加密算法3
    推荐文章Visual C++编程窃取QQ密码(图)
    推荐文章软件破解教程-常用Win32 API函数简介
    推荐文章VB编程实现图像的漂亮效果
    推荐文章输入10进制,输出2进制
     热门文章
    推荐文章软件破解教程-第6章第3节 加密算法3
    推荐文章Visual C++编程窃取QQ密码(图)
    推荐文章VB编程实现图像的漂亮效果
    推荐文章输入10进制,输出2进制
    推荐文章详解Visual C#数据库编程
    推荐文章入侵渗透中用过的三则VBS代码
    推荐文章入侵渗透中用过的三则VBS代码
    推荐文章网站防止注入入侵的一些有效代码和方法
     本站推荐

    关于我们 | 联系方法 | 招聘信息 | 加入会员 | 诚征代理 | 广告服务 | 欢迎投稿 | 站长信箱 | 友情链接 | 网站地图
    24小时客服:0374-7126138 技术支持:0374-7126138 投诉电话:0374-7967536
    客服QQ:883039 售后QQ:827520 技术QQ:78305152 投稿-商业:576880739
    Copyright 太平洋科技 2003-2007 版权所有 All Rights Reserved
    许可证号:豫ICP备07005385号