问题列表 - 第39424页

Python和ctypes:如何正确地将"指针指针"传递给DLL?

我有一个DLL分配内存并返回它.DLL中的函数是这样的:

void Foo( unsigned char** ppMem, int* pSize )
{
  * pSize = 4;
  * ppMem = malloc( * pSize );
  for( int i = 0; i < * pSize; i ++ ) (* ppMem)[ i ] = i;
}
Run Code Online (Sandbox Code Playgroud)

另外,我有一个从我的DLL访问此函数的python代码:

from ctypes import *
Foo = windll.mydll.Foo
Foo.argtypes = [ POINTER( POINTER( c_ubyte ) ), POINTER( c_int ) ]
mem = POINTER( c_ubyte )()
size = c_int( 0 )
Foo( byref( mem ), byref( size ) ]
print size, …
Run Code Online (Sandbox Code Playgroud)

python ctypes

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

在UISplitViewController和其他视图控制器之间切换的最佳方法是什么?

我正在创作一个iPad应用程序.应用程序中的一个屏幕非常适合使用UISplitViewController.但是,应用程序的顶级是一个主菜单,我不想使用UISplitViewController.这提出了一个问题,因为Apple说:

  1. UISplitViewController 应该是应用程序中的顶级视图控制器,即它的视图应该作为子视图添加 UIWindow

  2. 如果使用,UISplitViewController应该在应用程序的生命周期中存在 - 即不要从UIWindow中移除其视图并将其他视图放在适当位置,反之亦然

阅读和实验后,似乎只有满足Apple要求的可行选择,而我们自己的选择是使用模态对话框.所以我们的应用程序在根级别有一个UISplitViewController(即它的视图被添加为UIWindow的子视图),为了显示我们的主菜单,我们将它作为全屏模式对话框推送到UISplitViewController上.然后通过关闭主菜单视图控制器模式对话框,我们可以实际显示我们的拆分视图.

这个策略似乎运作正常.但它引出了一些问题:

1)有没有更好的方法来构建这个,没有模态,也满足提到的所有要求?由于被推送为模态对话框,主UI出现似乎有点奇怪.(模态应该用于重点用户任务.)

2)由于我的做法,我是否有遭受应用商店拒绝的风险?根据Apple的人机界面指南,这种模态策略可能是"误用"模态对话框.但是他们给了我什么其他选择呢?无论如何,他们会知道我这样做吗?

iphone user-interface appstore-approval ipad uisplitviewcontroller

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

在ASP.NET中使用Messenger Connect客户端库时出现Javascript错误

我在现有Sitefinity站点内实现新的Messenger Connect功能时遇到问题,无法使用Live ID启用客户端登录.

也就是说,当我使用以下代码实现客户端功能时:

<head runat="server">
  <script type="text/javascript" src="http://js.live.net/4.1/loader.js"></script>
</head>
<body>
  <form runat="server" id="form1">
    <asp:ScriptManager ID="ScriptManager1" runat="server"/>
    <wl:app
        client-id="<%= ConfigurationManager.AppSettings["wl_wrap_client_id"] %>"
        scope="WL_Profiles.View"
        callback-url="<%= ConfigurationManager.AppSettings["wl_wrap_client_callback"] %>?wl_session_id=<%=SessionId %>"
        channel-url="/channel.htm">
    </wl:app>
Run Code Online (Sandbox Code Playgroud)

...我在Firebug中遇到三个错误,我无法正确识别:

Sys.ArgumentTypeException:"Sys._Application"类型的对象无法转换为"Sys.IDisposable"类型.参数名称:对象

(在ScriptResource.axd?d = ....第4993行)

Sys.Application._doInitialize不是一个函数

(在MicrosoftAjaxBase.js第1行)

Sys.InvalidOperationException:脚本"MicrosoftAjaxGlobalization.js"已被多次引用.如果显式引用Microsoft AJAX脚本,请将ScriptManager的MicrosoftAjaxMode属性设置为Explicit.

(在ScriptResource.axd?d = ....第984行)

仅当我loader.js从js.live.net 包含脚本时才会触发错误.

编辑:似乎错误不一定按该顺序触发.刷新页面似乎打乱这些错误和/或引入其他的,如Sys.ParameterCountExceptionScriptResource.axd?...上线1842,例如.

javascript asp.net asp.net-ajax sitefinity liveid

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

编译器在cpu寄存器中将这样的结构传递给函数是否有意义?

我想知道某种结构是否包含多个原语但其总大小小于或等于单个cpu寄存器的大小(如4字节寄存器),编译器是否有意义将它放入在通过值或引用函数传递它时,在其中一个4字节寄存器中,而不是在被调用堆栈上复制它或传递指针,并且通常在将多于一个原语传递给函数时一个数组或一个结构会传递到一个cpu寄存器中派上用场了吗?

这种结构的样本:

struct sample{
 public:
  char char1;
  char char2;
};
Run Code Online (Sandbox Code Playgroud)

将结构传递给函数的示例:

void someFunc(const sample input){
 //whatever
}
void someFunc(sample input){
 //whatever
}
void someFunc(sample & input){
 //whatever
}
void someFunc(const sample & input){
 //whatever
}
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction function parameter-passing cpu-registers

8
推荐指数
2
解决办法
416
查看次数

int stringWithFormat到NSString的返回值

我有一个int currentFontSize,我想与存储在C数组中的NSString进行比较,这里是代码.

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    static NSString* fontSizeName[] = 
    {
        @"14",
        @"18",
        @"22",
        @"26",
        @"30",
        @"34",
    };

    int fontSizeSegmentID;
    int currentFontSize = 22;

    NSString *val = [NSString stringWithFormat: @"%i", currentFontSize];
    NSString *val2 = @"22";
    NSLog(@"the current font size is %i", currentFontSize);
    NSLog(@"the current font Value1 is %i", val);
    NSLog(@"the current font Value2 is %i",val2);
    int i;
    for (i = 0; i < 6; i++) {

        NSLog(@"fontSizeNAme:%d",fontSizeName[i]);
        NSLog(@"val:%d",val); …
Run Code Online (Sandbox Code Playgroud)

objective-c nsstring

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

从Android应用程序中使用WCF Web服务

我想从Android应用程序中使用WCF Web服务.我曾经使用过.asmx web服务,但我不知道如何在Android应用程序中使用SCF Web服务.

wcf android web-services

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

Bentley-Ottmann算法的推广

Bentley-Ottmann算法用于确定线列表的交叉点.然而,如Wiki中所述,存在一些缺点:

该算法假设线段不是垂直的,线段端点不位于其他线段上,交叉仅由两个线段形成,并且没有两个事件点具有相同的x坐标.然而,对于线段交叉的大多数应用而言,这些一般位置假设是不合理的.

我的问题是,这种算法有一个概括可以克服/克服上述困难吗?

algorithm

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

Visual Studio和命名空间

我试图将一些代码从一个VS2008项目转移到另一个VS2008项目.

我从中获取代码的项目非常有效,而且在将代码复制到新项目时,我不会以任何方式更改代码.

代码如下:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Text;
using System.Diagnostics;

using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace CommonTools
{

public class ColumnCollectionEditor : CollectionEditor
{
     .....
}
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,在"新"项目中,VS在提供的命名空间中找不到"CollectionEditor",因此项目不会构建.

"新"和"旧"项目都针对.NET 3.5

我在这里出错的任何想法.

.net c# visual-studio-2008

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

用于存储大量128位整数的磁盘结构?

我有大约5亿个128位整数,每年增加大约1亿个.什么都没有删除.这些数字的分布均匀,按比例和时间分布.

基本上,我只需要一个添加操作,它也会返回DB中是否已存在该数字.此外,我不想为这个系统使用太多RAM,所以只是将所有内容存储在内存中并不是我想要的.

到目前为止,我们一直在MySQL上使用几个MyISAM表,使用两个bigint作为主键.这给了我们好的表现,但我怀疑它不适合这项工作.在拆分表之前我们遇到了一些性能问题,而且我们在停电时已经损坏了.此外,DB为我们提供了许多我们不需要的功能.

我在Linux上使用Python,但我愿意接受建议.

类似的问题在C++中.

更新:马塞洛的评论提到布卢姆过滤器,这似乎对我很有希望.由于我正在使用哈希,我已经放弃了完全准确性,所以这可能是一个很好的精度/性能折衷.

on-disk data-structures

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

vba中For循环的循环行为不一致

我已经编写了一个用于删除MS Word 2010页面的宏,如下所示 -

Sub deleteAlternatePages()
    CurrentPage = Selection.Information(wdActiveEndPageNumber)
    TotalPages = Selection.Information(wdNumberOfPagesInDocument)

    maxLoop = TotalPages - 1

    Dim loopCtr As Integer
    loopCtr = (maxLoop / 2)

    For i = 1 To loopCtr
        boolDelete = Selection.Information(wdActiveEndPageNumber)
        Call deleteOnePage
        CurPage = Selection.Information(wdActiveEndPageNumber)
        Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Count:=1
    Next

End Sub
Run Code Online (Sandbox Code Playgroud)

从word运行宏时,循环无法正常工作.但是,当我调试代码时,它可以正常工作.

vba loops ms-word word-vba

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