小编Jar*_*tar的帖子

为什么外部链接到静态变量?

为什么extern int n在声明n时(在不同的文件中)不编译static int n,但在声明时有效int n?(这两个声明都在文件范围内.)

基本上,为什么int n文件范围与同一范围不static int n一样?它只与extern有关吗?如果是这样,我错过了什么?

c static extern

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

在NSTableView上拖放重新排序行

我只是想知道是否有一种简单的方法来设置NSTableView以允许它重新排序其行而无需编写任何粘贴板代码.我只需要它就可以在一个表内部完成.我编写pboard代码没有问题,除了我很确定我看到Interface Builder在某个地方有一个切换/默认情况下看到它正常工作.这看起来似乎是一项非常普遍的任务.

谢谢

macos drag-and-drop nstableview

16
推荐指数
5
解决办法
1万
查看次数

alloca(n)和char x [n]之间有什么区别?

有什么区别

void *bytes = alloca(size);
Run Code Online (Sandbox Code Playgroud)

char bytes[size];  //Or to be more precise, char x[size]; void *bytes = x;
Run Code Online (Sandbox Code Playgroud)

...其中size是一个在编译时值未知的变量.

c objective-c objective-c++ alloca

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

当我使用并行代码时,为什么我的计算机没有显示加速?

所以我意识到这个问题听起来很愚蠢(是的,我使用的是双核),但是我尝试了两个不同的库(Grand Central Dispatch和OpenMP),并且在使用clock()来计算带有和不带有线条的代码时它平行,速度是一样的.(为了记录,他们都使用自己的平行形式).他们报告说在不同的线程上运行,但也许它们运行在同一个核心上?有没有办法检查?(这两个库都用于C,我在较低层时感到不舒服.)这非常奇怪.有任何想法吗?

c parallel-processing performance openmp grand-central-dispatch

6
推荐指数
2
解决办法
5228
查看次数

GCC编译器 - 错误或未指定的行为?

当我在objective-c中对类的ivars进行冲突定义时(不是在同一个文件中重新声明类,而是使用diff ivars命名相同的类,编译器不会发出警告或更好的错误.)可以通过相应文件中的适当方法使用多组ivars.例如

Foo.m:

@interface foo {
int a;
}
- (int)method;
@end

@implementation foo

- (int)method {
    return a;
}

@end
Run Code Online (Sandbox Code Playgroud)

Bar.m:

@interface foo {
float baz;
}

@end

@implementation foo (category)
- (float)blah {
    return baz;
}
@end
Run Code Online (Sandbox Code Playgroud)

编译时没有警告或错误.这是故意的吗?这是一个未经检查的错误吗?(对于记录,a和baz实际上是相同的内存位置.)

编辑:对于记录我说的是iPhone OS,我认为它使用与64位MacOS相同的运行时

xcode gcc objective-c

6
推荐指数
1
解决办法
1213
查看次数

自定义iPad键盘,看起来像系统键盘

我正在寻找一个非hackish解决方案,所以基本上-inputView.我不确定的部分是如何使它看起来像常规键盘,从背景到键.我意识到我可以在Photoshop上使用苹果键盘,但这看起来有点像hackish,特别是如果苹果(可能不是但仍然可能)决定改变键盘的外观.我知道Numbers在制作看起来像标准系统键盘的额外键盘方面做得非常出色,我想这样做(尽管显然他们可以访问制作系统键盘的相同资源,包括可能的私有框架,等等.)

iphone keyboard ipad

6
推荐指数
1
解决办法
1478
查看次数

Docker 网络记录传出流量?

我有一个 docker-compose 工作负载,允许发出一些外部网络请求,但不应连接到允许列表之外的域。

有没有好的办法

  1. 记录我的容器连接到哪些域
  2. 阻止不在允许列表中的域(但仍记录它们)

tcpdump 看起来可以记录我的容器尝试连接的 ipaddrs,但对于主机名而言,它依赖于不明确的反向域名查找;我们可以记录 DNS 查找吗?tcpdump 也不让我阻止非白名单域。

docker docker-compose docker-network

6
推荐指数
0
解决办法
804
查看次数

什么是 - [NSString UTF8String]的保证生命周期?

文档模糊地说,只要需要它就会坚持下去,但什么时候才能解除分配呢?当原始NSString被解除分配?当前自动释放池清除?还有其他什么?此外,与当前实施相比,何时保证保留?如果它保持NSString的生命周期,每次都会返回相同的指针吗?

谢谢

memory-management objective-c nsstring

5
推荐指数
1
解决办法
2250
查看次数

LLVM标记函数为const并删除重复调用

我有一个外部(C)函数,我在我的LLVM IR中调用.IR获取JITed并且一切正常,但生成的代码对性能敏感,并且我想删除对外部函数的重复调用(如果可能).该功能没有副作用.是否有一个FunctionPass消除了对该功能的冗余调用?有什么我必须做的事情来标记该功能没有副作用?

谢谢!

llvm

5
推荐指数
1
解决办法
463
查看次数

如何在没有得到的情况下重写(干净利落)?

如何在没有得到的情况下干净利落地做到这一点?

loop:
  if(condition1){
    something();
  } else if (condition2) {
    somethingDifferent();
  } else {
    mostOfTheWork();
    goto loop;
  }
Run Code Online (Sandbox Code Playgroud)

我也不想使用休息时间.此外,在做其他事情之前,预计会循环几次(adv 40次),因此即使只是为了可读性,最多的工作部分很可能会尽可能高.提前致谢.

编辑:这是在错误的观念下发布的,编译器优化器在休息时效果很差,虽然开始时通常很愚蠢,但我通过实验(性能)证明我自己是不正确的.另一方面,谢谢你的答案; 他们对各种风格的阅读都很有趣.

c goto control-flow

4
推荐指数
2
解决办法
519
查看次数

如何在Objective-C中在运行时创建协议?

首先,我想明确我不是在谈论定义一个协议,而是我理解它的概念

@protocol someprotocol
- (void)method;
@end
Run Code Online (Sandbox Code Playgroud)

我知道Obj-C运行时允许在RUNTIME中创建类,以及它的ivars和方法.也可用于创建SEL-s.我想我只是遗漏了一些东西,但有没有人知道在运行时调用什么函数来创建协议?这个的主要原因是conformsToProtocol:工作,所以只是添加适当的方法并没有真正削减它.

protocols objective-c objective-c-runtime

3
推荐指数
1
解决办法
3264
查看次数

有没有办法从varargs函数的参数中检索浮点数?

如果函数是用原型定义的,该原型明确说明了参数的类型,例如.

void somefunc(int arg1, float arg2);
Run Code Online (Sandbox Code Playgroud)

但实施为

void somefunc(int arg1, ...) { ... }
Run Code Online (Sandbox Code Playgroud)

是否可以使用va_arg来检索浮点数?它通常被禁止这样做,因为varargs函数具有隐式类型提升,例如float to double,因此尝试检索未启动类型是不受支持的,即使使用未启动类型调用函数对更具体的函数原型也是如此.

这样做的原因是在运行时检索不同类型的参数,作为obj-c解释器的一部分,其中一个函数将被重用于所有不同类型的方法.

这最好是独立于架构(因此,如果没有其他相同的代码在模拟器和设备上工作),尽管如果没有办法这样做,那么将接受设备特定的修复.

编辑:忘了具体提到:函数知道参数的类型和数量(它查找要使用SEL _cmd参数进行地图查找解释的代码)

c objective-c variadic-functions

3
推荐指数
1
解决办法
704
查看次数

我应该如何在(My)SQL中实现一对一的关系?

我对SQL比较陌生,我不确定如何建立一对一的关系.在阅读了前三种规范化形式之后,我目前的印象是,最好的方法是拥有一个中间表,ala-3rd来自多对多关系,除了每列被声明为唯一.

sql

2
推荐指数
1
解决办法
565
查看次数