首页 > TAG信息列表 > function-pointers
linux-获取功能指针以在我未直接加载的共享库中运行
我的Linux应用程序(A)链接到我没有源代码的第三方共享库(B).该库使用了我没有源代码(C)的另一个第三方共享库.我相信(B)使用dlopen来访问(C)而不是直接链接.我的理由是(B)上的’ldd’不显示(C),而objdump -X(B)显示对dlopen / dlclose / dlsym的引用. 我的要求是我需要在代码中为(A我可以在函数内部声明函数指针吗?
我对声明函数指针的C#方法感到困惑.我想在函数内声明一行函数指针变量,而不必添加类成员或类似的东西. 我正在尝试的是: System.Func<KeyCode, bool> inputCheck = activeCharacter.continuous_fire ? Input.GetKey : Input.GetKeyDown; 我尝试过也使用Action(但显然它不返回值)和python-通过脚本在结构中设置IDA函数指针
重新定义结构成员以使其成为函数指针的通常的手动方法是,按下该成员,单击“ Y”,然后在弹出框中输入正确的声明.例如,对于结构成员fncQuery,我将字符串更改为:BOOL(__cdecl * fncQuery)(字符* cmdID) 这会有所帮助;当我接下来确定对该函数指针的调用时,我会将相应的“ call [reg offsc-如何制作模板参数
如何创建带有任何类型的函数指针的元函数?在下面的代码中,如何摆脱“ decltype(& f)”? template <class FuncType, FuncType functionPointer> void runFunc() { functionPointer(); } runFunc<decltype(&f),f>(); 我不想单独指定f的类型;信息已经在f中了.我不希望通过定义来如何在C中创建一个包含不同类型的函数指针的容器?
我正在做一个线性遗传程序设计项目,其中程序是通过自然进化机制进行繁殖和进化的.他们的“ DNA”基本上是一个容器(我已经成功使用了数组和向量),其中包含指向一组可用函数的函数指针. 现在,对于简单的问题,例如数学问题,我可以使用一个类型定义的函数指针,该指针可以指向全部返回c-struct指针函数指向其他struct的其他函数
我想知道是否可以将其他结构的功能指向一个结构: 例: typedef struct { int func(int z) { return z * 2; } } sta; typedef struct { int(*this.func)(int); } stah; int main() { sta sa; stah sah; sah.func = &sa.func; return 0;为什么函数对象在python中评估为True?
在python中进行如下构造是有效的: def a(): return 0 if a: print "Function object was considered True" else: print "Function object was considered False" 我想问一个函数指针被评估为True的逻辑是什么. 为什么在语言中插入这种构造?解决方法:在Python中,c-为什么函数指针都具有相同的值?
例如: using namespace std; #include <iostream> void funcOne() { } void funcTwo( int x ) { } int main() { void (*ptrOne)() = funcOne; cout << ptrOne << endl; //prints 1 void (*ptrTwo)( int x ) = funcTwo; cout << ptrc-调用存储在std映射中的成员函数指针
我将地图存储在一个类中,该类具有字符串作为键,而指向成员函数的指针作为值.我在调用正确的函数时遇到麻烦,无法抛出函数指针. 这是代码: #include <iostream> #include <string> #include <map> using namespace std; class Preprocessor; typedef void (Preprocessor::*functc – 使用函数指针清除函数模板的实现
我已经设法实现并测试了我的函数包装器实现,但是,界面并不像它应该的那样好: template < typename F, F* f > void register_function( const char* name ) { int (*lf) (lua_State *) = function_wrapper< F, f >; register_native_function( lf, name ); } 虽然这可以按c – 如何将各种类型的函数指针存储在一起?
可以使用通用void *存储正常指针.例如 void* arr[10]; arr[0] = pChar; arr[1] = pINt; arr[2] = pA; 不久之后,我遇到了一个讨论,void *可能无法在所有平台(例如64位及更多)中存储没有数据丢失的函数指针.我不确定这个事实. 如果这是真的,那么存储函数指针集合的最便携方式是什c – std :: function的用法和语法
我有必要使用std :: function但我不知道以下语法的含义. std::function<void()> f_name = []() { FNAME(); }; 使用std :: function的目标是什么?它是否指向函数?解决方法:std :: function是一种类型擦除对象.这意味着它会删除某些操作发生的细节,并为它们提供统一的运行时接口.对c – 如何在不解除引用的情况下调用指向函数的指针?
我在C程序中有一个奇怪的typedef语句,由Py生成. double radius(int); // function to be wrapped typedef double (*radius_function_type)(int); bp::def("radius", radius_function_type(&radius)); // bp::def is a function for wrapping 到目前为止我想到的是上面的t通过Ctypes将C转换为Python – 将函数指针的结构包含到静态函数中
我在C库中的结构是这样的. DataFn中的函数指针指向静态函数. .H struct Data { int i; int *array; }; typedef struct { bool (* const fn1) (struct Data*, const char *source); .... } DataFn; extern DataFn const DATAFUNC 使用objdump,该表仅包含DATAFUNnoexcept函数是否仍然可以调用C 17中的函数?
在P0012R1中,“使异常规范成为类型系统的一部分”, 我看到noexcept现在正成为函数类型的一部分. 我不知道这是否会阻止noexcept(true)函数仍能调用noexcept(false)函数. 以下代码是否仍然适用于C 17? void will_throw() noexcept(false){ throw 0; } void will_not_throw() noexc – 创建线程不接受成员函数
我正在尝试为网络编程创建一个类.这将创建一个带有线程的通用套接字. 但是当我尝试使用createthread()创建线程时.第三个参数是产生错误.从网上我开始知道我不能使用成员函数作为createthread()的参数. 我能做到这一点吗?解决方法:处理此问题的最简单方法是创建一个“存根”函数,该C从DLL实例化模板类
我试图制作一个包含以下内容的DLL: 基本模板类,只有虚拟析构函数而没有属性(我称之为MatrixInterface) 带有构造函数,析构函数,运算符=和属性(矩阵类)的派生类 一个返回基类指针到新派生对象的函数: #ifdef BUILD_DLL #define DLL_EXPORT __declspec(dllexport) #else #defic – 为什么无状态函子的operator()不能是静态的?
为什么不允许无状态函子的operator()不是静态的?无状态lambda对象可转换为指向与其operator()具有相同签名的自由函数的指针. Stephan T. Lavavej on p. 6指出转换为函数指针只是一个运算符FunctionPointer()(引用).但我无法获得与非成员函数相对应的operator()指针.对于functor strc – 如何在模板化的函数指针声明中读取这么多的星号和括号?
参见英文答案 > Complex C declaration 7个 从Introduction to the C++11 feature: trailing return types开始 文章声称 template <class T> class tmp { public: int i; }; auto foo()->auto(*)()c – 推导函数指针返回类型
我认为代码会更好地说明我的需求: template <typename F> struct return_type { typedef ??? type; }; 以便: return_type<int(*)()>::type -> int return_type<void(*)(int,int)>::type -> void 我知道decltype和result_of但是他们需要传递参数.我想从单个模板参数推断出函数为什么我们在C中使用std :: function而不是原始的C函数指针?
参见英文答案 > Should I use std::function or a function pointer in C++? 5个 std :: function< T1(T2)>的优点是什么?超过原来的T1(*)(T2)?解决方法:std :: function可以容纳多个函数指针,即函子. #incc – typedef如何用于函数指针
我想我可能患有可怕的“偶然程序员”疾病,至少在涉及typedef和函数指针时.所以我一直在试验各种涉及这些的组合,根据我得到的所有输出来分析结果. 但是,当我继续尝试不同的组合,而不是分析结果,我现在只是在过程中丢失. 我希望你们能帮助我弄清楚这个烂摊子. 第一个代码示例 typedC中的回调函数
在C中,何时以及如何使用回调函数? 编辑: 我想看一个编写回调函数的简单示例.解决方法:注意:大多数答案都涵盖了函数指针,这是在C中实现“回调”逻辑的一种可能性,但是到目前为止并不是我认为最有利的一种. 什么是回调(?)以及为什么要使用它们(!) 回调是类或函数接受的可调用(参见下文),c – 如何通过需要自由函数的成员函数?
问题如下:考虑这段代码: #include <iostream> class aClass { public: void aTest(int a, int b) { printf("%d + %d = %d", a, b, a + b); } }; void function1(void (*function)(int, int)) { function(1, 1); } void test(int a,int b)javascript – setTimeout立即调用函数而不是延迟
我想在HTML页面上创建一个值,该页面将每5秒更新一次,以免压倒服务器.事实证明,我的函数中的setTimeout()没有正确延迟,而是立即被调用.有人能帮我找到线索吗?我真的不想给我的服务器太多工作,因为我必须实现更多的AJAX. 这是代码: window.onload = function GetUsersNumber() {