小编use*_*706的帖子

ARM:链接寄存器和帧指针

我试图理解链接寄存器和帧指针在ARM中是如何工作的.我去过几个网站,我想确认一下我的理解.

假设我有以下代码:

int foo(void)
{
    // ..
    bar();
    // (A)
    // ..
}

int bar(void)
{
    // (B)
    int b1;
    // ..
    // (C)
    baz();
    // (D)
}

int baz(void)
{
    // (E)
    int a;
    int b;
    // (F)
}
Run Code Online (Sandbox Code Playgroud)

我叫foo().将链接寄存器包含在点(A)的地址码和帧指针包含在代码点(B)的地址?在声明了所有本地人之后,堆栈指针可以是bar()内的任何位置吗?

[编辑]添加了另一个函数调用baz()

c arm

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

Django:获取最后一次用户访问日期

在Django中,我们可以通过使用获得用户上次登录的时间Auth.User.last_login.仅当用户使用其用户名/密码登录时才会更新.假设用户已经登录并且身份验证信息保存在cookie中,因此无需登录即可访问该站点.我们如何获取用户以前访问过该站点的日期?这对于诸如获取自上次访问以来的新记录数量之类的查询非常有用.

django

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

Django与F对象的时差

我有以下型号:

class Assignment(models.Model):
  extra_days = models.IntegerField(default=0)
  due_date = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)

due_date分配到期的日期在何处,是在extra_days完成分配的截止日期之后给出的额外天数.

我想创建一个查询,返回due_date + extra_days大于当前日期的所有行.这就是我在做的事情:

from django.utils import timezone
from django.db.models import F
from datetime import datetime

cur_date = timezone.make_aware(datetime.now(), timezone.get_default_timezone())
a = Assignment.objects.filter(extra_days__gt=cur_date - F('due_date'))
Run Code Online (Sandbox Code Playgroud)

当我打印时a,我收到以下错误:

  File "c:\Python27\lib\site-packages\MySQLdb\cursors.py", line 204, in execute
    if not self._defer_warnings: self._warning_check()
  File "c:\Python27\lib\site-packages\MySQLdb\cursors.py", line 117, in _warning
_check
    warn(w[-1], self.Warning, 3)
Warning: Truncated incorrect DOUBLE value: '2013-09-01 02:54:31'
Run Code Online (Sandbox Code Playgroud)

如果我做了导致3.1天的时差,我假设天差仍然是3.我认为做这样的事情会更正确:

a = Assignment.objects.filter(due_date__gt=cur_date - timedelta(days=F('extra_days')))
Run Code Online (Sandbox Code Playgroud)

但这也会导致错误.

如何在不编写原始SQL查询的情况下执行此操作?

django

15
推荐指数
2
解决办法
4911
查看次数

Django south:在数据迁移中改变字段类型

我是从更改字段CharFieldIntegerField.字段名称保持不变.新创建的字段将基于旧字段.例如,如果旧字段是"L",则它将具有数字"1".我怎样才能在forwards()功能中实现这一目标?

django django-south

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

无法从带有 Django 应用程序的容器连接到 MySQL docker 容器

当我尝试从运行 Django 应用程序的 docker 容器连接到运行 MySQL 的容器时,出现以下错误:

django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '172.17.0.2' (111)")
Run Code Online (Sandbox Code Playgroud)

这是我运行 MySQL 容器的方式:

$ docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=testdb -e MYSQL_ROOT_HOST=172.17.0.2 -d mysql/mysql-server:5.7
Run Code Online (Sandbox Code Playgroud)

如果我不指定MYSQL_ROOT_HOST,当我尝试从容器与 Django 应用程序连接时,我会收到此错误:

django.db.utils.OperationalError: (1130, "Host '172.17.0.3' is not allowed to connect to this MySQL server")
Run Code Online (Sandbox Code Playgroud)

这是我的 Django 设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'testdb',
        'USER': 'root',
        'PASSWORD': 'root',
        'HOST': '172.17.0.2',
        'PORT': '',
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经验证 MySQL 容器正在使用 IP 172.17.0.2:

$ docker …
Run Code Online (Sandbox Code Playgroud)

mysql django docker

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

无法在Docker for Windows上共享C驱动器

我在Windows 10 Enterprise上运行Docker Desktop for Windows.我得到以下内容:

PS C:\ Users> docker run --rm -vc:/ Users:/ data alpine ls/data C:\ Program Files\Docker\Docker\Resources\bin\docker.exe:来自守护进程的错误响应:C:驱动器是不在Docker for Windows设置中共享它.

从共享驱动器选项卡中的Docker设置,我看到C驱动器在那里,但未检查.当我检查它并按Apply时,系统会提示我输入密码.成功输入后,C仍未检查驱动器.

docker docker-for-windows docker-desktop

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

从 Android Studio 运行所有 flutter 单元测试

我过去可以通过右键单击测试目录并单击“Run 'tests in my_app'”从 Android Studio GUI 运行所有 Flutter 单元测试。删除并重新克隆我的应用程序目录(可能还有其他内容的组合)后,我在尝试运行测试后在运行日志中看到了这一点:

Testing started at 8:42 AM ...
C:\flutter\bin\cache\dart-sdk\bin\pub.bat run test -r json C:/Users/me/AndroidStudioProjects/my_app
Observatory listening on http://127.0.0.1:2397/S0P_H2wKVSE=/

The Flutter SDK is not available.

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

我的 SDK 设置正确,因为我可以从 Android Studio 运行和调试该应用程序。如果我flutter test从 AS 中的终端选项卡运行,测试将成功执行。

android-studio flutter flutter-test

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

保存文本的 SVG 到 PDF 转换器

我正在寻找一个 SVG 到 PDF 转换器,它可以保留 SVG 中的文本。我试过 Batik、Inkscape 和 CairoSVG。他们生成的PDF都是位图图像,包括文本;无法在 PDF 查看器中选择/搜索文本。他们都做得不好,尤其是 CairoSVG。

我遵循了此处的说明(请注意,您不必编译 FOP - 您可以从此处下载 PDF 转码器)。现在我看到,如果我放大 PDF,清晰度会被保留,我认为这意味着文本会被保留。但是,我无法搜索或选择文本。

此外,我比较了使用 FOP 的 PDF 转码器和 Batik 中的输出,我看不出有什么区别。

pdf svg pdf-generation

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

序列化数据类时类型不匹配

我正在按照此示例序列化数据类。当我这样做时,我收到此构建错误:

Type mismatch: inferred type is Data but SerializationStrategy<TypeVariable(T)> was expected
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import kotlinx.serialization.json.Json
import kotlinx.serialization.Serializable

@Serializable
data class Data(val a: Int, val str: String = "str")

fun main() {
    println(Json.encodeToString(Data(42)))
}
Run Code Online (Sandbox Code Playgroud)

由于我使用的是 @Serializable 批注,所以我不应该拥有正确的数据类型吗?如何序列化数据类?

kotlin

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

将 Docker 容器日志重定向到主机 /var/log

是否有一种配置可以自动将容器的日志重定向到主机中的文件/var/log/docker logs我们可以使用和 在主机上访问容器日志/var/lib/docker/containers/<container id>/,但我们想要访问文件中的日志/var/log/。如果重新创建容器,我们还希望保留并附加到此文件。

logging docker

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