小编Shu*_*eng的帖子

为什么调用Class.forName("com.mysql.jdbc.Driver")注册MySQL for JDBC?

正如"Class.forName()"和"Class.forName().newInstance()"之间的区别所解释的那样,Class.forName()方法执行以下操作:

调用Class.forName(String)返回与具有给定字符串名称的类或接口关联的Class对象

但是,如果它只是这样做,为什么需要调用这个方法才能将MySQL与Java一起使用呢?没有它我得到以下错误:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/calender
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at Database.main(Database.java:25)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc

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

PE文件中偏移量为0x3c的PE头的指针总是设置为0x80吗?

PE文件中偏移量为0x3c的PE头的指针总是设置为0x80吗?

我想知道为什么这个指针会改变.我猜DOS标题和存根没有改变,因为它们是第一次写的.

PE-header直接在这些DOS工件之后启动,PE指针总是设置为0x80?如果没有,为什么?

windows assembly portable-executable

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

是否可以在 NASM 中使用 DB 指令在 .text 段中创建可写变量?

我试过.text使用 eg在段中声明变量file_handle: dd 0

但是,尝试在此变量中存储某些内容会mov [file_handle], eax导致写入错误。

我知道,我可以在.data段中声明可写变量,但为了使代码更紧凑,我想像上面一样尝试。

是使用堆栈来存储这些值(例如文件句柄)的唯一可能性,还是我可以以某种方式写入上面的变量?

windows x86 assembly nasm

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

PE:节头的 SizeOfRawData 和 VirtualSize 字段之间的关系

我看到对于图像文件中的部分,该VirtualSize字段是加载到内存中时该部分的总大小,而该SizeOfRawData字段是该部分在磁盘上的初始化数据的大小。

在检查一个.idata部分时,该VirtualSize字段设置为 0x14,而该SizeOfRawData字段设置为 0x400。

为什么链接器 - 在这种情况下 MinGW ld- 使文件部分如此之大,而加载到内存中的部分只是它大小的一小部分?

另外,这个VirtualSize领域的目的是什么?为什么不总是加载整个部分,即加载SizeOfRawData字节?

我在官方 PE 文档中没有看到描述或它们的关系。

windows assembly portable-executable windows-10

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

如何编写一个表达式来干扰GDB中的指针?

假设EAX包含指向某个值的指针(双字).

我想做的是检查这个值,即写一个像这样的表达式x /1wx [eax].

但是,GDB在写[eax]表达式时抱怨说语法错误.

我如何在GDB中使用指针?

c++ x86 assembly gdb gnu

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

如何确定EXE(或DLL)是否参与ASLR,即是否可重定位?

如何确定EXE(或DLL)是否参与ASLR,即是否可重定位?

我想在我的系统上检查一些EXE是否可以重新定位并参与ASLR.

我知道链接器的默认行为是剥离基址重定位,以便EXE不可重定位?

如何从FileAlyzer等工具中看到图像是否参与ASLR?

windows assembly linker portable-executable

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

如何在Coq中证明算术等式"3*S(i + j)+ 1 = S(3*i + 1)+ S(3*j + 1)"?

如何证明平等

3 * S (i + j) + 1 = S (3 * i + 1) + S (3 * j + 1)`
Run Code Online (Sandbox Code Playgroud)

在Coq?

试图在Coq中证明我的归纳假设,我需要证明这些方面是平等的(他们显然是这样).

但是,如果我移除S,例如左侧,那么我得到自然数3.但是,我不知道如何将其分解成1 + 1 + 1.

此外,坐在与fidling Nat.add_assocNat.add_comm是非常耗费时间,使我疯了.

初学者必须有一些"直截了当"的方式如何使用"基本"策略来证明这一点?

coq

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

LLVM:更改函数中的指令或基本块

我想通过重新排序一些指令或插入一个新的基本块来操作一个函数.

我的方法可以在下面看到.

我从LLVM IR读取一个模块,然后迭代其内容.

我该如何更改其内容?

克隆是否必要,如果是,我将如何插入新指令?

#include <iostream>

#include <llvm/IR/Module.h>
#include <llvm/IRReader/IRReader.h>
#include <llvm/IR/LLVMContext.h>
#include <llvm/Support/SourceMgr.h>
#include <llvm/Bitcode/ReaderWriter.h>
#include <llvm/Support/FileSystem.h>
#include <llvm/Transforms/Utils/Cloning.h>

using namespace llvm;
int main()
{
  LLVMContext context;
  SMDiagnostic error;
  std::unique_ptr<Module> m = parseIRFile("test.ll", error, context);

  std::error_code EC;
  llvm::raw_fd_ostream OS("module", EC, llvm::sys::fs::F_None);
  WriteBitcodeToFile(m.get(), OS);
  OS.flush();

  std::cout << "Successfully read Module:" << std::endl;
  std::cout << " Name: " << m->getName().str() << std::endl;
  std::cout << " Target triple: " << m->getTargetTriple() << std::endl;

  Module* mod = new Module("obfus", getGlobalContext());

  for …
Run Code Online (Sandbox Code Playgroud)

c++ llvm

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

与“-s”选项相比,LLDB 中“图像查找”的“-n”选项如何操作?

我知道该-s选项会在符号表 ( image dump symtab) 中搜索匹配的符号<symbol>

但是,我不明白该-n选项是如何运作的。它从 返回不同的结果-s,如果它没有在符号表中搜索函数/符号,它会在哪里查找<function-or-symbol>

help image lookup

-s <symbol> ( --symbol <symbol> )
            Lookup a symbol by name in the symbol tables in one or more target modules.

-n <function-or-symbol> ( --name <function-or-symbol> )
            Lookup a function or symbol by name in one or more target modules.
Run Code Online (Sandbox Code Playgroud)

debugging macos ios lldb

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

Python ABI“cp37”和“cp37m”有什么区别?

我一直在研究pip3 download并发现一些包可以通过指定 Python ABI 来获取cp37m,而其他包可以通过指定 Python ABI 来获取cp37

cp37m和ABI之间有什么区别?cp37在哪里可以找到可用 ABI 的列表及其说明?

python python-3.x

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

标签 统计

assembly ×5

windows ×4

portable-executable ×3

c++ ×2

x86 ×2

coq ×1

debugging ×1

gdb ×1

gnu ×1

ios ×1

java ×1

jdbc ×1

linker ×1

lldb ×1

llvm ×1

macos ×1

mysql ×1

nasm ×1

python ×1

python-3.x ×1

windows-10 ×1