小编Qix*_*Qix的帖子

你能把一个类(不是一个对象)作为参数传递给python中的方法吗?

我想做类似以下的事情

class A:
  def static_method_A():
    print "hello"

def main(param=A):
  param.static_method_A()
Run Code Online (Sandbox Code Playgroud)

我希望这相当于A.static_method().这可能吗?

python parameters static

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

JMP到绝对地址(操作码)

我正在尝试编写一个exe包装器/保护器作为一种学习更多关于汇编程序,c ++以及PE文件如何工作的方法.我现在已经开始工作,所以包含EP的部分与一个密钥进行异或,并创建一个包含我的解密代码的新部分.一切都很好,除非我在解密后尝试JMP到原始EP.

基本上我这样做:

DWORD originalEntryPoint = optionalHeader->AddressOfEntryPoint;
// -- snip -- //
    crypted.put(0xE9);
 crypted.write((char*)&orginalEntryPoint, sizeof(DWORD)); 
Run Code Online (Sandbox Code Playgroud)

但是,它不是跳到入口点,而是显示此代码反汇编为:

00404030   .-E9 00100000    JMP 00405035 ; should be 00401000 =[
Run Code Online (Sandbox Code Playgroud)

当我尝试手动更改它时,新的操作码显示为

00404030    -E9 CBCFFFFF    JMP crypted.00401000
Run Code Online (Sandbox Code Playgroud)

0xCBCFFFFF来自哪里?我如何从C++端生成它?

x86 assembly executable masm opcode

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

如何在运行时获取构建UUID和映像基址

是否需要获取构建UUID,您可以在iOS中查看dSYM生成的文件和图像基址.

当谈到低级别的东西时,不是很好,任何人都可以启发?

uuid ios

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

我应该将 pom.xml 文件放在哪里?

我一直在阅读本教程并安装了 Maven,创建了环境变量,创建了一个新的 Android 项目,但我不知道在哪里放置 pom.xml 文件?

另外,如何运行我的 Maven 构建以便创建一个新的 .apk 文件?

java android maven

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

为什么使用对象继承而不是mixins

要旨

有利于继承而不是mixins的原因是什么

给出以下伪代码示例:

class Employee

class FullTimeEmployee inherits Employee

class PartTimeEmployee inherits Employee

// versus

class Employee

class WorksPartTime

class WorksFullTime

class FullTimeEmployee includes Employee, WorksFullTime
class PartTimeEmployee includes Employee, WorksPartTime
Run Code Online (Sandbox Code Playgroud)

如果我们使用继承来构建对象,则类关系将被视为树,与mixin一样,类关系将被视为平面列表.

假设我们使用的语言

  • 允许mixin使用非详细语法
  • 允许我们透明地对待FullTimeEmployeea EmployeeFullTime对象.

我们为什么要建立我们的类关系作为树(继承)而不是平面列表(组合)?

树与列表的示例.

class Person

class Employee inherits Person

class FullTimeEmployee inherits Employee

//                      -> FullTimeEmployee
//  Person -> Employee
//                      -> PartTimeEmployee

class Person

class Employee includes Person

class FullTime

class FullTimeEmployee includes FullTime, Employee

//
// FullTimeEmployee = …
Run Code Online (Sandbox Code Playgroud)

language-agnostic oop inheritance composition mixins

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

从内存加载动态库

是否可以从内存而不是从mac/gcc上的文件系统加载库?

使用Windows我正在使用MemoryModule,但它显然不是跨平台兼容的.

c++ macos dll gcc module

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

C++嵌套类,访问父类变量

标题已经说了很多,

但基本上我想做的是以下(示例):

我有一个名为A的类,另一个名为B的类,如下所示:

class A
{
   int a;

   class B
   {
      void test()
      {
         a = 20;
      }
   };
};
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我的目标是让B类可以访问A类,因为它是一个嵌套类.不是这个不会工作,因为B无法访问A,但它如何才能访问?

谢谢

c++ nested class parent

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

是否可以保证std :: list顺序?

是否std::list保证元素内的顺序保持有序(当然,除非发生某种排序或发生某种情况)?

此外,列表是否存在任何潜在的不确定行为,可能会使它们混乱?

我/我的印象是诸如std::deque之类的容器是可以安全使用的,但是a std::deque不是双向链接。

c++ containers stl

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

Eclipse 不一致:资源泄漏:'<unassigned Closeable value>' 永远不会关闭

如果我有以下代码:

public OutputStream test(boolean condition) throws FileNotFoundException {
    return condition ? null : new FileOutputStream("test.txt");
}
Run Code Online (Sandbox Code Playgroud)

Eclipse 将黄色波浪线置于下方new FileOutputStream("test.txt")并向我显示以下警告:

Resource leak: '<unassigned Closeable value>' is never closed

奇怪的是,如果我删除三元操作:

public OutputStream test() throws FileNotFoundException {
    return new FileOutputStream("test.txt");
}
Run Code Online (Sandbox Code Playgroud)

警告消失。

这是 Eclipse 中的不一致(错误?)还是我遗漏了两种情况之间的一些根本区别?

一般来说,Eclipse 似乎足够聪明,可以理解当我Closeable从方法返回 a 时,可以不让该方法关闭流(毕竟,返回关闭的流有什么意义?)。当我间接返回结果时,它甚至可以正确执行此操作:

public OutputStream test() throws FileNotFoundException {
    FileOutputStream result = new FileOutputStream("test.txt");
    return result;
}
Run Code Online (Sandbox Code Playgroud)

(这里没有警告)

那么,Eclipse 是不是被三元运算弄糊涂了?如果是这样,我应该将此报告为错误吗?


另一个奇怪的事情:

如果我替换FileOutputStreamByteArrayOutputStream,警告也会消失:

public OutputStream test(boolean condition) {
    return condition …
Run Code Online (Sandbox Code Playgroud)

java eclipse autocloseable

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

/ 4在FF/4中的含义是什么?

通常在x86文档中引用的一个站点有一些带有斜杠和数字的指令代码.例如,jmp接近绝对间接给出FF /4,而jmp远绝对间接给出FF /5.

什么的/4/5是什么意思?

为了运行一个快速的小测试,我附加了一个32位进程,分配了一点内存并插入了汇编程序jmp dword ptr[0x12345678]; 生成的字节码是FF 25 78563412.我理解地址的结尾,但是如何25/4/5

我的猜测是我生成了一个jmp远,并且/5意味着有五个字节作为参数(地址为4个字节+ 1个字节25).我仍然对它的来源感到困惑25.

x86 assembly

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