首页 > TAG信息列表 > macros

gfortran开启preprocessor macros

对于下面的程序,直接用gfortran test.f90,会有warning,宏也不能生效:test.f90 program main implicit none #if 0 write(*,*) "**********" #endif end program main 此时编译的时候添加参数-cpp即可: gfortran -cpp test.f90 参考:https://gcc.gnu.org/onlinedocs/gfortran

Visual Studio中使用Macros插件给代码添加注释、时间和以及自动脚本

title: Visual Studio中使用Macros插件给代码添加注释、时间和以及自动脚本 date: 2020-09-11 sidebarDepth: 2 tags: 代码 Visual studio 时间 注释 Macros categories: 开发 微软技术 windows Macros for Visual Studio插件是一款非常易用的自动脚本插件,支持visual studio各

Python-SWIG与来自boost预处理器的预处理器宏

我在这里建议使用ToString实现的枚举:How to convert an enum type variable to a string?据我所知,它利用并运行良好. 当我尝试将宏包装并导出到用SWIG包装的Python库时,就会出现我的问题.类似的问题:SWIG errors because of preprocessor directive在那里,解决方案是向SWIG接口添加

[Flask]jinja2模板-宏的使用

定义宏: macros.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Micros</title> </head> <body> {% macro render_element(element)%} {%if element %} &l

使用Hy宏生成Python代码

我正在尝试从Hy生成一些python代码.怎么做得更好? 我尝试了几种方法.一个是与宏: (defmacro make-vars [data] (setv res '()) (for [element data] (setv varname (HySymbol (+ "var" (str element)))) (setv res (cons `(setv ~varname 0) res))) `(do ~@res)) 然

java-imageJ插件参数

您好,我正在尝试将参数传递给ImageJ插件.但是,无论我通过什么,程序都将参数字符串视为空.我在互联网上找不到有关该问题的任何文档. 我的Java插件看起来像这样,并且可以正常编译. import ij.plugin.PlugIn; public class Test implements PlugIn { public void run(String ar

PHP内部原理:TSRMLS_FETCH如何工作?

PHP Internals TSRMLS_FETCH宏如何工作? 每PHP Manual While developing extensions, build errors that contain “tsrm_ls is undefined” or errors to that effect stem from the fact that TSRMLS is undefined in the current scope, to fix this, declare the function to

c-宏不通过直接调用扩展,而是通过间接扩展

我有以下宏 #include <boost/preprocessor.hpp> #define DB_FIELD(...) BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) #define DB_TOFIELD(type,name) \ private:\ type name##_;\ public:\ const type& get_##name(){return name##_;}\ void set_##name(co

c-以下宏可能给应用程序带来什么问题?

以下宏会带来问题吗? #define sq(x) x*x 如果是,那么如何以及为什么?请提供帮助.解决方法:是的,它可能会带来问题.除了显而易见的事实,即宏根本不尊重名称空间(这意味着您不能调用sq)以外,请尝试以下操作: int result = sq(4) / sq(4); 您应该用括号将x * x括起来,使其变为((x)*(x

C中的宏扩展

如何在参数位于行首的位置定义一个宏(或对此的解决方法)? #define SINGLETON_IMPLEMENTATION(className) \ ##className* ##className::instance_ = NULL; 这会向编译器发出警告(GCC 3.2.3):“’##’不能出现在宏扩展的任何一端”解决方法:##是串联运算符;编译器只是在抱怨. 您

c-是否可以实现__super宏?

请告诉我是否有一种方法可以手动实现Microsoft特定的__super宏…解决方法: class Base{ public: void func(){ // something } }; class Derived : public Base{ public: void func(){ Base::func(); // just use the base class name } }; 虽然我认为这不是您想

是否可以创建将标准(继承)类包装到应用程序中的C宏?

因此,我们有简单的接口基类: class animal { public: animal(int age) : age_(age) { } virtual ~animal(void) { } virtual std::string get_name(void) { return "A generic animal"; } int get_age(void) { return age_; } protected: int age_;

适用于Python的C预处理器宏

我习惯在C中定义宏(而不仅仅是常量) #define loop(i,a,b) for(i=a; i<b; ++i) #define long_f(a,b,c) (a*0.123 + a*b*5.6 - 0.235*c + 7.23*c - 5*a*a + 1.5) 有没有一种方法在python中使用预处理而不是函数? *通过预处理,我的意思是在运行代码之前会替换定义的出现(实际上不是整

如何避免丢失PHPExcel中的宏?

我正在使用PHPExcel从数据库中读取数据并将其放入电子表格中.我也有一个模板(.xlsm文件)要遵循.众所周知,PHPExcel不支持宏.但是我不想编辑或创建宏.我只是想确保它们留在原处.甚至不想触摸它们. 那么,有人知道任何解决方法吗? 我已经为此工作了一个星期.我已经读过this和this.第一

c-具有几行参数的宏功能?

在C中 我需要定义一个宏.该宏将参数“块”作为参数. 我们可以安全地使用几行代码作为宏函数的参数吗? 我问自己是否: >以下代码是否有效,并由标准定义为有效,例如“跨平台”?>有没有更好的方法可以做到这一点(我不能在这里使用模板函数,因为我需要上下文). #define MY_MACRO( expr ) D

c – C宏以启用和禁用代码功能

我之前使用过代码库,它有一个宏系统,用于启用和禁用代码段.它看起来像下面这样: #define IN_USE X #define NOT_IN_USE _ #if defined( WIN32 ) #define FEATURE_A IN_USE #define FEATURE_B IN_USE #define FEATURE_C NOT_IN_USE #elif defi

在java中将word文件另存为html

我尝试使用java将word文件保存为html.我将一个word文件保存为xml,它为我工作 Runtime rt1 = Runtime.getRuntime(); rt1.exec("C:/Program Files/Microsoft Office/Office12/WINWORD.EXE /msaveasxml C:/myfolder/AB_00040.doc"); 它将我的doc文件保存为特定文件夹C:/ myfolder中

javascript中的宏定义

有没有办法可以在Javascript中定义类似于C/C++宏的宏? 我想将它用于调试语句: 就像是 #ifdef TEST__ #define MYDEBUG(##x) debug(__FILE__,x) #else #define debug #endif 不一定相似,但我想要实现这一功能.有没有办法可以做到这一点? 谢谢解决方法: var de = false; // true when

c – 在static_assert()中在编译时显示整数

这是我正在尝试做的简化版本 enum First { a, b, c, nbElementFirstEnum, }; enum Second { a, b, c, nbElementSecondEnum, }; static_assert( First::nbElementFirstEnum == Second::nbElementSecondEnum, "Not the same number of el

c – 与GCC有多大的wchar_t?

GCC支持-fshort-wchar,它将wchar_t从4切换到两个字节. 在编译时检测wchar_t大小的最佳方法是什么,所以我可以正确映射到适当的utf-16或utf-32类型? 至少,直到c 0x被释放并给我们稳定的utf16_t和utf_32_t typedef. #if ?what_goes_here? typedef wchar_t Utf32; typedef unsigne

Linux内核代码中的EXPORT_SYMBOL_GPL是什么?

Linux内核代码中的EXPORT_SYMBOL_GPL是什么? 下面是一段代码,其中包含EXPORT_SYMBOL_GPL 62 struct resource *platform_get_resource(struct platform_device *dev, 63 unsigned int type, unsigned int num) 64 { 65 int i;

c – 编译时字符串加密

我不希望逆向工程师在我的应用程序中读取硬编码字符串的纯文本.对此的简单解决方案是使用简单的XOR-Encryption.问题是我需要一个转换器,在我的应用程序中它将如下所示: //Before (unsecure) char * cString = "Helllo Stackoverflow!"; //After (secure) char * cString = XStr( 0

c – 根据参数的数量生成多个宏调用

我试图以一种重复的方式多次调用此函数. template<class T> void METADATA_METHODS_IMPL(std::string& metadata, const T &value, const std::string &key) { metadata += boost::format("%1%:%2%") % key % value(); } 我写了以下宏: #define METADATA_METHODS_I

c – 有没有办法在每个源文件中自动重现#define

我希望以下内容出现在我的Visual C 2005解决方案中的每个源文件中: #define DEBUG_NEW new(_NORMAL_BLOCK, __FILE__, __LINE__) #define new DEBUG_NEW 有没有办法在不手动复制的情况下执行此操作?编译选项?解决方法:命令行选项/D可用于定义预处理程序符号.但是,我不知道它是否

c – 在编译时获取源文件的基本名称

我正在使用GCC; __FILE__返回当前源文件的完整路径和名称:/path/to/file.cpp.有没有办法在编译时获取文件的名称file.cpp(没有它的路径)?是否可以以便携方式执行此操作?模板元编程可以应用于字符串吗? 我在错误记录宏中使用它.我真的不希望我的源代码完整路径进入可执行文件.解决方法: