标签: extern

C中的外部和静态指针

嗨什么可能是静态和外部指针的用法?如果他们存在

c static pointers extern

7
推荐指数
3
解决办法
4万
查看次数

extern关键字真的有必要吗?

...
#include "test1.h"

int main(..)
{
    count << aaa <<endl;
}
Run Code Online (Sandbox Code Playgroud)

aaa是在定义中test1.h,我没有使用extern关键字,但仍然可以参考aaa.

所以我怀疑是否extern真的有必要?

c++ extern

7
推荐指数
4
解决办法
2532
查看次数

C中的外部结构

我有一个用f2c(Fortran到C转换器)生成的C文件,它包含以下C结构:

struct {
    real rez, pi, st;
} const_;
Run Code Online (Sandbox Code Playgroud)

如何const_在不修改f2c生成的变量的情况下将此变量声明为另一个.c文件中的外部变量?

c extern f2c

7
推荐指数
1
解决办法
1998
查看次数

为什么以下计划有效

我写了以下程序

#include<stdio.h>
 main ()
{
        extern int i;
        printf("\n%d",i);
}
int i=30;
Run Code Online (Sandbox Code Playgroud)

我期待一个错误消息,因为我在main之后初始化,但相反程序给了我输出.为什么它没有给我一个错误是我想知道的.

c extern

7
推荐指数
2
解决办法
363
查看次数

如何将out/ref extern参数转换为F#

我有一个C#extern声明,如下所示:

    [DllImport("something.dll")]
    public static extern ReturnCode GetParent(IntPtr inRef, out IntPtr outParentRef);
Run Code Online (Sandbox Code Playgroud)

如何将其翻译为F#?

pinvoke f# extern ref-parameters

7
推荐指数
1
解决办法
2573
查看次数

UIColor,UIFont等的外部常量

我有一个constants.m文件,它是许多程序常量的集中集合.要设置颜色,我这样做:

@implementation UIColor (UIColor_Constants) 

+(UIColor *) defaultResultTableBackgroundColor{
    //return [[UIColor colorWithRed:0.6f green:0.004f blue:0.0f alpha:1.0f] retain];
    return [[UIColor colorWithRed:0.1f green:0.004f blue:0.3f alpha:0.3f] retain];
}

+(UIColor *) defaultResultHeaderBackgroundColor{
    return [[UIColor clearColor] retain];
}

@end
Run Code Online (Sandbox Code Playgroud)

在constants.h我有

@interface UIColor (UIColor_Constants) 

+(UIColor *) defaultResultTableBackgroundColor;
+(UIColor *) defaultResultHeaderBackgroundColor;

@end
Run Code Online (Sandbox Code Playgroud)

然后只使用[UIColor defaultResultTableBackgroundColor]我想引用此常量的位置.

我想有一些其他UIColor和UIFont常量,虽然这有效,但似乎比它需要的更复杂.有更简单的方法吗?

cocoa cocoa-touch objective-c extern

7
推荐指数
3
解决办法
6902
查看次数

为Python提供externed enum"public"?

我正在包装一个大量使用枚举的库,因此包含许多常量标识符.有没有办法让它们可用于Cython(声明它们extern)并同时使它们可供Python使用?

我搜索这样的东西

cdef extern from *:
    public enum:
        spam
        foo
        ham
Run Code Online (Sandbox Code Playgroud)

哪个应该取代

cdef extern from *:
    enum:
        cspam "spam"
        cfoo "foo"
        cham "ham"

spam = cspam
foo = cfoo
ham = cham
Run Code Online (Sandbox Code Playgroud)

注意:我知道将extern-declarations移动到.pxd文件以避免命名冲突的选项.

谢谢,尼克拉斯

python cython extern

7
推荐指数
1
解决办法
618
查看次数

类型名称不允许指定存储类

@interface Foo : NSObject

{
    extern int gGlobalVar;   
    int i;
}
-(void)setgGlobalVar:(int)val;

@end


@implementation Foo

-(void)setgGlobalVar:(int)val
{  
    i = 5;
    NSLog(@"i = %i", i);
    gGlobalVar = val;
}

@end
Run Code Online (Sandbox Code Playgroud)

我可以i在接口中声明并在实现中使用它而没有任何错误.但是我不能extern在接口中声明类型的变量.为什么会这样?为什么我会收到一个错误:"类型名称不允许指定存储类"?

objective-c extern

7
推荐指数
1
解决办法
6889
查看次数

链接器如何知道extern函数的定义在哪里?

我读了几篇帖子并得出结论,extern告诉编译器"这个函数存在,但它的代码在其他地方.不要惊慌." 但链接器如何知道函数的定义位置.

我的案例: - 我正在研究Keil uvision 4.有一个头文件grlib.h,主函数在grlib_demo.c(它包含grlib.h).现在,有一个函数GrCircleDraw()在Circle.c中定义并在grlib_demo.c中调用,还有一个语句

extern void GrCircleDraw(所有参数);

在grlib.h中.我的查询是链接器如何知道GrCircleDraw()的定义,因为Circle.c不包含在grlib.h和grlib_demo.c中

注意: - 文件grlib.h和Circle.c位于同一文件夹中.代码运行成功.

c c++ extern keil

7
推荐指数
3
解决办法
2363
查看次数

extern"C"表示成员静态回调函数

我想为用Haskell(GHC)编写的代码提供回调函数.它使用类似GCC C编译器的函数类型来导出/导入功能,并在运行时与我的代码进行互操作.

我必须提供一个回调函数,它实际上接受this指向该类的指针并只调用它的方法:

struct C
{
    int f(int i) { ; }
    static int f_callback(void * self, int i)
    {
        static_cast< C * >(self)->f(i);
    }
};
Run Code Online (Sandbox Code Playgroud)

逻辑上f_callback是类的一部分C,因此我将它放入相应的命名空间范围.

但我担心我应该使用extern "C"语言规范(调用约定在这里是重要的,而不是名称错误)?这是可能的声明和定义extern "C"在平原命名空间功能,有一对夫妇的特殊规则,extern "C"在不同的命名空间具有相同的名称定义的功能,但类范围的命名空间和简单的一个命名空间之间没有区别.

是否可以将static extern "C"函数定义到类范围?

c c++ callback extern language-lawyer

7
推荐指数
1
解决办法
423
查看次数