问题列表 - 第41602页

我需要一个浮点专家

任何人都可以详细解释这个log2函数是如何工作的:

inline float fast_log2 (float val)
{
   int * const    exp_ptr = reinterpret_cast <int *> (&val);
   int            x = *exp_ptr;
   const int      log_2 = ((x >> 23) & 255) - 128;
   x &= ~(255 << 23);
   x += 127 << 23;
   *exp_ptr = x;

   val = ((-1.0f/3) * val + 2) * val - 2.0f/3;   // (1)

   return (val + log_2);
} 
Run Code Online (Sandbox Code Playgroud)

math floating-point logarithm ieee-754

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

单例类,其ctor需要参数

我有一个类Command,它是一个类的实例EventManager.Class Command 在其构造函数中需要两个参数(host,target).

class EventManager
{
public:
   void Event1(){ cmd->Execute(_eventEnum); }
private:
   Command *cmd;
};

class Command
{
public:
   Command(Host h, Target t)
   void Execute();
private:

}
Run Code Online (Sandbox Code Playgroud)

现在,如果我需要cmd->Execute()在Tar​​get类的成员函数中使用此方法,我需要创建cmdTarget的实例变量或将其作为单例全局化.

我不能创建cmd一个Target的实例变量,因为它不接受主机实例.要使它成为单身,就可以添加两个这样的方法

class Command
{
public:

   CreateInstance(Host h, Target t);
   GetInstance(); 
   void Execute();
private:
   Command(Host h, Target t);

}
Run Code Online (Sandbox Code Playgroud)

我需要确保GetInstance在之后调用CreateInstance.还有其他选择吗?

目标类是一个低级别的类,几乎没有事件.

Target::LowlevelEvent()
{
 cmd->Execute(lowlevelevent) //In Execute for lowlevelevent in Command class, i might call target->reset …
Run Code Online (Sandbox Code Playgroud)

c++ singleton

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

3
推荐指数
2
解决办法
847
查看次数

为什么将表关系存储在不同的表中?

我见过人们经常使用一个单独的表来存储表之间的关系.

例如,表Company_companys有两列,一个是nodeid,它是一个公司id,一个linkid是另一个公司的companyid.

为什么人们可以通过公司表中的额外列来完成同样的事情?是出于性能原因吗?或者还有其他原因吗?

编辑:感谢大家的答案和示例,我现在明白,为了在需要多对多关系时实现First Normal Form,需要一个单独的表来存储多个链接.在考虑上述问题时,我几乎忘记了多对多关系的概念,所以我从一对多关系的角度思考它:)

mysql sql database database-design

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

64位Eclipse不会在Android模拟器上安装.apk

在Windows 7 64位上,运行Eclipse 3.6 64位,JDK(jdk1.6.0_23)64位和Android 2.3(bitness?),通过Eclipse的Run | Run(Ctrl + F11)运行程序调用android模拟器,但不会在模拟器上安装.apk(当然也不会运行它).

(更新,回答@ Computerish的问题)我在Eclipse的控制台上得到的是:

[2010-12-16 10:23:33 - HelloAndroid] ------------------------------
[2010-12-16 10:23:33 - HelloAndroid] Android Launch!
[2010-12-16 10:23:33 - HelloAndroid] adb is running normally.
[2010-12-16 10:23:33 - HelloAndroid] Performing com.example.helloandroid.HelloAndroid activity launch
[2010-12-16 10:23:33 - HelloAndroid] Automatic Target Mode: launching new emulator with compatible AVD 'AVD23'
[2010-12-16 10:23:33 - HelloAndroid] Launching a new emulator with Virtual Device 'AVD23'
Run Code Online (Sandbox Code Playgroud)

在运行Eclipse 3.5.2和Android 2.2(全部为32位)的Windows XP上不会发生此问题.

我尝试了在这个帖子中接受的答案建议的解决方案,但它没有帮助.任务管理器将adb的图像名称显示为" adb.exe*32 ".也许Eclipse + JDK(64位)的比特与Android模拟器/ SDK之间存在不匹配?

是否使用64位JDK进行 Android开发尚未实现?

eclipse 64-bit android android-emulator apk

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

如何使用Windows身份验证对中间层上的用户进行身份验证

我们有一个用Delphi编写的服务器,它使用RemObjects DataAbstract/SDK.我们希望使用Windows身份验证对用户进行身份验证,以允许他们访问我们的服务器.

目前我们执行以下操作:

1)客户端应用程序以明文形式将Windows用户名和密码发送到服务器.2)服务器使用以下函数检查凭据:

function ValidateUserLogonAPI(const UserName: string; const Domain: string;
  const PassWord: string) : boolean;
var
  Retvar: boolean;
  LHandle: THandle;
begin
  Retvar := LogonUser(PWideChar(UserName),
                                PWideChar(Domain),
                                PWideChar(PassWord),
                                LOGON32_LOGON_NETWORK,
                                LOGON32_PROVIDER_DEFAULT,
                                LHandle);

  if Retvar then
    CloseHandle(LHandle);

  Result := Retvar;
end;
Run Code Online (Sandbox Code Playgroud)

当然,这种方法的缺点是用户凭证以明文形式通过网络传递.我们可以对它们进行加密,但加密/解密密钥必须在应用程序中提供.

我相信必须有更好的方法来实现我们的目标.我已经阅读了一些关于令牌的内容,但是并不真正理解它们在这种情况下会如何工作.

请注意,她的解决方案必须适用于Delphi Windows客户端和Delphi Prism ASP.NET客户端.

谢谢你提供的所有帮助.

windows delphi authentication winapi windows-authentication

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

使用VisualStudio 2010编辑InfoPath C#代码

InfoPath 2007 C#代码的默认编辑器是VSTA.它的功能非常低,我想使用我的VS 2010.这可能吗?如果有,怎么样?

我尝试用现有的项目创建一个项目,但我无法导入正确的程序集.

c# infopath vsta visual-studio-2010 infopath-2007

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

如何将boost :: posix_time :: ptime转换为time_t?

是否有一些"标准"方式或我能做的最好的是直接通过减去来计算它gregorian::date(1970,1,1)

c++ boost boost-date-time

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

为什么类字段不能是var?

class A
{
    A()
    {
        var x = 5;   // this is allowed
    }

    var _x = 5;   // the compiler is unhappy
}
Run Code Online (Sandbox Code Playgroud)

我想编译器必须能够推导出成员变量的类型,就像它对本地变量一样.那有什么区别?

c#

24
推荐指数
2
解决办法
7230
查看次数

Android上的原生自修改代码

我试图在Android上制作一些自我修改的本机代码并在模拟器中运行它.我的示例基于android-ndk中的HelloJNI示例.它看起来像这样:

#define NOPE_LENGTH 4

typedef void (*FUNC) (void);

// 00000be4 <nope>:
//     be4: 46c0        nop         (mov r8, r8)
//     be6: 4770        bx  lr
void nope(void) {
    __asm__ __volatile__ ("nop");
}

void execute(void){
    void *code = mmap(NULL, NOPE_LENGTH, PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);

    if (code != MAP_FAILED) {
        memcpy(code, nope, NOPE_LENGTH);

        ((FUNC)code)();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是这段代码崩溃了.怎么了?

linux android arm self-modifying android-ndk

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