问题列表 - 第32760页

有没有办法我可以打印字符串数组而不使用for循环?

java中是否有任何函数像toString()一样打印一个String数组?

这是一个愚蠢的问题,但我想知道除了编写for循环之外是否还有其他方法.

谢谢.

java arrays string

55
推荐指数
3
解决办法
10万
查看次数

Python ctypes没有在Mac OS X上加载动态库

我有一个C++库repeater.so,我可以通过以下方式从Linux加载Python:

import numpy as np                                    
repeater = np.ctypeslib.load_library('librepeater.so', '.')
Run Code Online (Sandbox Code Playgroud)

但是,当我在Mac OS X(Snow Leopard,32位)上编译相同的库并获取repeater.dylib,然后在Python中运行以下内容时:

import numpy as np                                
repeater = np.ctypeslib.load_library('librepeater.dylib', '.')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

OSError: dlopen(/mydir/librepeater.dylib, 6): no suitable image found.  Did find:
    /mydir/librepeater.dylib: mach-o, but wrong architecture
Run Code Online (Sandbox Code Playgroud)

在Mac OS X上,我是否必须采用不同的方法在Python中加载动态库?

python linux macos ctypes dynamic-linking

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

C#中的"扩展方法"是什么意思?

任何人都可以解释这一点,(初学者的方法).谢谢..

c#

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

Inno Setup:仅当选择组件“X”时如何创建密码向导页面

任何人都可以帮助我保护选择组或组件。

举些例子

If ('Readme.txt').selected or ('compact').selected = True then
begin "Password wizard page";
else
result := true;
end;
Run Code Online (Sandbox Code Playgroud)

这个工作脚本与此类似:P

function CheckPassword(Password: String): Boolean;
begin
 result := false;
 if (Password='component') or (Password='type') then
   result := true;
end;
Run Code Online (Sandbox Code Playgroud)

passwords pascal inno-setup password-protection

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

MySql - 使用连接的子查询插入多行?

此查询将返回表示论坛帖子的项目ID列表:

SELECT id FROM `proj_objects` WHERE  type='fthread';
Run Code Online (Sandbox Code Playgroud)

此查询将订阅用户(其users表中的ID为'37')到ID为'122'的论坛帖子:

INSERT INTO `subscrips` VALUES ( 37, 122 ) ;
Run Code Online (Sandbox Code Playgroud)

我想插入多行,将用户37订阅到类型为fthread的所有项目对象.我可以在一个查询中执行此操作吗?

mysql sql join subquery

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

为什么我们需要"这个指针调整器thunk"?

我从这里读到了调整器thunk .这是一些引用:

现在,只有一个QueryInterface方法,但有两个条目,每个vtable一个.请记住,vtable中的每个函数都接收相应的接口指针作为其"this"参数.这对于QueryInterface(1)来说很好; 它的接口指针与对象的接口指针相同.但这对于QueryInterface(2)来说是个坏消息,因为它的接口指针是q,而不是p.

这是调节器雷声进来的地方.

我想知道为什么" vtable中的每个函数都接收相应的接口指针作为其"this"参数 "?它是接口方法用于在对象实例中定位数据成员的唯一线索(基址)吗?

更新

这是我最新的理解:

实际上,我的问题不是关于这个参数的目的,而是关于为什么我们必须使用相应的接口指针作为this参数.对不起我的含糊不清.

除了使用界面指针作为对象布局中的定位器/立足点.只要您是组件的实现者,当然还有其他方法可以做到这一点.

但对于我们组件的客户来说情况并非如此.

当组件以COM方式构建时,组件的客户端对组件的内部结构一无所知.客户端只能占用接口指针,这是将作为this参数传递给接口方法的指针.在这种期望下,编译器别无选择,只能根据这个特定的this指针生成接口方法的代码.

因此上述推理导致了以下结果:

必须确保vtable中的每个函数必须将相应的接口指针作为其" this "参数接收.

在"this pointer adjustor thunk"的情况下,单个QueryInterface()方法存在2个不同的条目,换句话说,可以使用2个不同的接口指针来调用QueryInterface()方法,但编译器只生成1个副本QueryInterface()方法.因此,如果编译器选择其中一个接口作为this指针,我们需要将另一个调整为所选择的接口.这就是这个调节器thunk诞生的原因.

BTW-1,如果编译器可以生成2个不同的QueryInterface()方法实例呢?每一个都基于相应的接口指针.这不需要调整器thunk,但是需要更多空间来存储额外但相似的代码.

BTW-2:似乎有时问题从实施者的角度来看缺乏合理的解释,但可以从用户的指针视角更好地理解.

c++ com

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

保持LINQ-to-SQL DataContext打开多长时间?

我是linq-to-sql的新手(也就是sql),我已经开始收集证据证明我可能没有以正确的方式做事,所以我想看看你们都要说些什么.

在我的员工分配应用程序中,我允许用户在员工和项目之间创建分配.在应用程序开始时,我打开了一个linq-to-sql数据上下文到我的管理数据库.在整个计划中,我从不放弃数据上下文.事实上,大多数表单构造函数都将此数据上下文作为其参数之一.

我有点认为这是做事的方式,直到我读到另一个SO问题,其中提问者正在讨论在整个程序中重复地重新创建数据上下文,然后根据需要将实体"附加"到新的数据上下文中.这可以帮助我解决我遇到的问题,其中的东西"潜入"我的数据库.

那么你会在哪里使用第一种风格(并且不要羞于说永远),你会在哪里使用第二种风格?

linq-to-sql

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

如果循环:"x not in"与"not x in"

我注意到这两个都是一样的:

if x not in listif not x in list.

在某些情况下两者之间是否存在某种差异?是否有理由同时拥有这两者,或者只是因为某些人写一个或另一个更自然?

我更有可能在其他人的代码中看到哪一个?

python loops if-statement

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

使用截断文本将右侧和左侧与线性或相对布局对齐?

我正在尝试做一个如下所示的列表视图: alt text http://pici.se/pictures/hjFksZvLx.jpg

它有两个部分,左边是左对齐的,包含两个单行和截断的文本视图.右边的部分也有两个文本视图,但是它们是右对齐的并且具有恒定的大小.主要问题是右侧部分与右侧不对齐.如果我使用静态宽度将其推到右侧它工作得很好,但是在横向模式下看起来不太好.

我认为应该很容易实现.但事实并非如此.

首先我尝试使用Linearlayout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <LinearLayout
        android:orientation="vertical"
        android:id="@+id/L1"
        android:layout_height="fill_parent"
        android:layout_weight="0.8"
        android:layout_width="0dip">
        <TextView
            android:id="@+id/text1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="1"
            android:ellipsize="end"
            android:scrollHorizontally="true"
            android:text="Long text Long text Long text Long text Long text Long text Long text" />
        <TextView
            android:id="@+id/text2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="1"
            android:ellipsize="end"
            android:scrollHorizontally="true"
            android:text="Short text" />
    </LinearLayout>
    <LinearLayout
        android:orientation="vertical"
        android:id="@+id/L2"
        android:layout_gravity="top|right"
        android:layout_height="fill_parent"
        android:layout_weight="0.2"
        android:layout_width="0dip">
        <TextView
            android:id="@+id/text4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:text="12:12" />
        <TextView
            android:id="@+id/text3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="64%"
            android:layout_gravity="right" />
    </LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我一直在摆弄重量属性,但它似乎没有帮助.右边部分根本不对齐.

然后我尝试使用Relativelayout:

<?xml …
Run Code Online (Sandbox Code Playgroud)

java user-interface android

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

如何编写一个超级简单的软件激活系统?

我有一个我写的共享软件,我想在互联网上分发。我设置了一个序列号类型的东西,但仍然有大量的密钥共享:(。我想添加一个系统,一旦用户输入序列号,它就会与我的服务器进行检查以确保它是有效的. 简单是关键。

-客户端使用php类型的东西“www.mywebsite.com?key=3434343”将序列号的MD5发送到网页

-Php 脚本采用 MD5 并针对简单数据库进行检查。如果数据库中存在 MD5 密钥,它会增加与该密钥关联的计数器,并生成一个显示 1 的网页。如果数据库中没有条目,脚本生成一个显示 0 的网页。

- 客户端读取网页并检查 0 或 1 并采取相应措施。

我将在数据库中手动输入有效密钥 (md5'd) 并监视激活密钥是否过多。我对 php 一无所知,所以我不知道这是否可行。这看起来够好吗?是否存在明显的安全漏洞?我将使用共享主机。有没有更好的办法?谢谢

php c++

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