问题列表 - 第5940页

什么是一流的编程结构?

当试图在C#中做一些相当先进的事情时(比如某种黑客),提出了"头等"的概念.

例如,一个方法是第一类编程构造,因为你可以用它做xyz(xyz不是方法所做的,但是一般的方法给你什么,我不记得xyz现在是什么),但是. NET 1.1委托无法传递给方法,因为它们不是一流的编程结构(我读过这些内容).

什么是一流的编程结构?

谢谢

.net

25
推荐指数
3
解决办法
7564
查看次数

如何在表格单元格中使用UIWebView?

我正在构建一个包含一些HTML文本的表,所以我使用UIWebView作为自定义表格单元格的子视图.我已经遇到了一个问题 - 当我在表格中向下滚动时,UIWebViews需要更新一次.例如,我将在编号为1,2和3的行中查看单元格.我向下滚动到8,9和10.有一会儿,在单元格#8中可见的UIWebView的内容是来自单元#1的内容,单元#9中的内容是来自单元#2的内容,依此类推.

我了解到问题是UIWebViews只是缓慢地渲染文本.有人建议我尽快将内容预先加载到UIWebView中,而不是等到表收到cellForRowAtIndexPath.所以现在,我有一个Domain Object,它之前只有WebView的文本内容 - 但现在它实际上有一个UIWebView本身的引用.

但是现在UIWebView中的一些内容呈现,当我滚动表格时,UIWebView只显示为灰色框.如果我触摸灰色框,它将实际接收触摸并更新WebView - 例如,如果我触摸链接(我可能会或可能不会,因为该框是灰色的,这将是一个运气),将链接到的页面将被请求并正确显示.

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
            // I suppose this isn't necessary since I am just getting it from the
            // Domain Object anyway
    content = [[UIWebView alloc] initWithFrame:CGRectZero];
    content.backgroundColor = [UIColor blackColor];
    [self addSubview:content];
    [content release];
}
return self;
}

// called by cellForRowAtIndexPath 
- (void)setMyDomainObject:(MyDomainObject*)anObject {
UIWebView *contentWebView = anObject.contentWebView;
int contentIndex = [self.subviews indexOfObject:content];
[self insertSubview:contentWebView atIndex:contentIndex];
}
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch uiwebview uitableview

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

如何准确计算在iPhone上调用功能所需的时间?

我想知道将消息发送到具有至少1ms准确度的对象需要多长时间.我该怎么做呢?

iphone benchmarking

9
推荐指数
2
解决办法
3057
查看次数

使用Zend_Loader包含HTMLpurifier

我想将HTMLpurifier与Zend Framework结合使用.我想用Zend_Loader加载Class及其文件.你会怎么包括它?您是否只使用HTMLPurifier.auto.php或者您是否知道更好的方法?

php zend-framework htmlpurifier

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

编译C程序时出错

我正在尝试完成一个涉及使用信号量的学校项目.我已经包含了正确的头文件(加上一个用于pthreads).我已经将编译器指向了正确的库.这是用C编写的.是的,这是一个赋值,但请注意我不是在寻求实现的帮助,而是我似乎无法弄清楚这个该死的编译错误.

这是我的代码的第47到50行,它们是信号量的"简单"声明并初始化它们:

sem_t empty;
sem_init(&empty, 0, 5); 
sem_t full;
sem_init(&full, 0, 0); 
Run Code Online (Sandbox Code Playgroud)

以下是我在尝试编译第48行时收到的消息.我为第50行获得了相同的设置,但为了简洁起见没有发布:

|48|error: expected declaration specifiers or ‘...’ before ‘&’ token|
|48|error: expected declaration specifiers or ‘...’ before numeric constant|
|48|error: expected declaration specifiers or ‘...’ before numeric constant|
|48|warning: data definition has no type or storage class|
|48|warning: type defaults to ‘int’ in declaration of ‘sem_init’|
Run Code Online (Sandbox Code Playgroud)

我已经在main()函数之外声明了所有这些.我该如何解决这些错误?我很困惑,因为它似乎表明没有sem_t的数据类型,但它是在semaphore.h中定义的,我已经包含了它.我正在使用Ubuntu下的Code :: Blocks编译它,它使用的是gcc.即使从命令行进行编译,也会发生此错误.

在此先感谢您的帮助.

c compiler-errors pthreads

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

Flash:带参考表的AMF3?

AMF3规范定义了所谓的"参考表"的使用(参见本规范的第2.2节).

我在我在Erlang中开发的AMF3编码器/解码器中实现了这种行为,但对Flash API不是很有经验,我很难找到在将对象序列化为AMF3时如何轻松强制Flash使用这些引用表; 例如,如果我使用ByteArray,它似乎只是重复完整的对象编码

 var ba:ByteArray = new ByteArray();
 ba.writeObject("some string1");
 ba.writeObject("some string1");
 # =>
 # <<6,25,115,111,109,101,32,115,116,114,105,110,103,49,
 #   6,25,115,111,109,101,32,115,116,114,105,110,103,49>>
Run Code Online (Sandbox Code Playgroud)

(这显然是重复).

但是,如果这两个字符串在一个writeObject调用中,它似乎确实使用引用:

 ba.writeObject(["some string1", "some string1"]);
 # => <<9,5,1,6,25,115,111,109,101,32,115,116,114,105,110,103,49,6,0>>
Run Code Online (Sandbox Code Playgroud)

套接字似乎表现得一样.

那么,我可以在Flash代码中使用引用表吗?(假设我在Flash应用程序和服务器之间可能有非标准协议)

谢谢!

apache-flex flash erlang amf flex3

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

二进制协议 - 字节交换技巧

假设我们有一个二进制协议,字段网络有序(大端).

struct msg1
{
    int32 a;
    int16 b;
    uint32 c
}
Run Code Online (Sandbox Code Playgroud)

而不是将网络缓冲区复制到我的msg1,然后使用"networkToHost"函数来读取msg1

我将msg1重新排列/反向

struct msg1
{
    uint32 c
    int16 b;
    int32 a;
}
Run Code Online (Sandbox Code Playgroud)

并简单地从网络缓冲区执行反向复制以创建msg1.在这种情况下,不需要networkToHost功能.这种习惯用法在大端机器上不起作用,但对我来说这不是问题.除此之外,我还有其他任何缺点吗?

谢谢

PS为上面我们强制严格对齐(#pragma pack(1)等)

c c++

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

SQL Server 2008日志不会截断

我认为自己是一个非常有经验的SQL人.但我没有做这两件事:

  • 减小分配日志的大小.
  • 截断日志.

    DBCC sqlperf(logspace)

收益:

Database Name   Log Size (MB)   Log Space Used (%)  Status
ByBox       1964.25     30.0657         0
Run Code Online (Sandbox Code Playgroud)

以下内容不适用于SQL 2008

DUMP TRANSACTION ByBox WITH TRUNCATE_ONLY
Run Code Online (Sandbox Code Playgroud)

运行以下操作也没有任何作用

DBCC SHRINKFILE ('ByBox_1_Log' , 1)
DBCC shrinkdatabase(N'bybox')
Run Code Online (Sandbox Code Playgroud)

我试过备份了.我也试过设置数据库的属性 - '恢复模型'为'FULL'和'SIMPLE'以及上述所有内容的组合.我还尝试将兼容性设置为SQL Server 2005(我使用此设置,因为我想匹配我们的生产服务器)和SQL Server 2008.

无论我尝试什么,日志仍然是1964.25 MB,使用30%,这仍然在增长.

我希望日志能够回到0%附近并将日志文件大小减少到100 MB,这就足够了.我的数据库必须恨我; 它只是忽略了我要求它做的关于日志的一切.

还有一点需要注意 生产数据库有很多复制表,当我使用以下内容在开发框上执行恢复时,我关闭了这些表:

-- Clear out pending replication stuff
exec sp_removedbreplication
go
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL,
     @numtrans = 0, @time = 0, @reset = 1
go
Run Code Online (Sandbox Code Playgroud)

试:

SELECT log_reuse_wait, log_reuse_wait_desc …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

21
推荐指数
6
解决办法
8万
查看次数

sortUsingFunction和"void值不应该被忽略,因为它应该是"

在我的目标c类中,我想对这样的数组进行排序:

NSArray *sorted = [unsortedArray sortUsingFunction: mySort context: NULL];
Run Code Online (Sandbox Code Playgroud)

我的排序功能实现为:

NSInteger mySort(id one, id two, void *ctx) { return 1; }
Run Code Online (Sandbox Code Playgroud)

当我构建程序时,编译器告诉我:

error: void value not ignored as it ought to be
Run Code Online (Sandbox Code Playgroud)

现在我想我知道编译器试图告诉我的内容:

"我不知道"mySort"到底是什么,所以我会假设它返回'void'.哎呀,看起来你正试图将'void'分配给变量,nope不能那样做.再试一次."

好吧,编译先生,我要告诉你什么,所以你知道函数原型是NSInteger mySort(id,id,void*)?我尝试将该行放在类头文件中,在"@interface"之后,几乎遍布整个地方,但我无法使其工作.

在哪里/如何为sort函数声明函数原型?

非常感谢,马克.

objective-c

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

如何使用C捕获另一个进程的输出?

如何使用纯C捕获另一个进程的输出?你能提供示例代码吗?

编辑:让我们假设Linux.我会对"非常便携"的代码感兴趣.我想要做的就是执行一个命令,捕获它的输出并以某种方式处理它.

c capture

4
推荐指数
1
解决办法
1077
查看次数