小编Shu*_*eng的帖子

右值引用:究竟什么是"临时"对象,它们的范围是什么,它们存储在哪里?

右值引用:究竟什么是"临时"对象,它们的范围是什么,它们存储在哪里?

阅读一些文章,rvalues总是被定义为"临时"对象,例如Animal(),哪个Animal是类,或者是某些文字,例如10.

但是,rvalues /"临时"对象的正式定义是什么?

new Animal()也被认为是"临时"的对象?或者它只是堆栈上的值,比如Animal()存储在代码中的文字?

此外,这些"临时"对象存储在哪里,它们的范围是什么,以及这些值的右值引用有效多长时间

c++ c++11

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

如何在 Ubuntu 上安装 Petite Chez Scheme?

如何在 Ubuntu 上安装 Petite Chez Scheme?

我运行 Ubuntu 15.10 并尝试为 Linux 安装 pcsv8.4-a6le.tar.gz(非线程,64 位)。

在解压这个 tar 之后/usr/locale,我输入命令

sudo ./configure 
sudo make install 
Run Code Online (Sandbox Code Playgroud)

custom目录中。

但是,不是全新安装,而是出现以下错误(我希望有人可以帮助我):

nlykkei@nlykkei-Studio-XPS-1640:/usr/local/csv8.4/custom$ sudo make install
if [ yes = no ]; then if [ ! -f ./scheme ]; then /bin/rm -f ./scheme; ln -s ../bin/a6le/scheme ./scheme; fi; fi
if [ ! -f ./petite ]; then /bin/rm -f ./petite; ln -s ./scheme ./petite; fi
/bin/rm -f ./scheme
echo "const char *S_date_stamp = \"`date +%m%d%Y%H%M%S`\";" …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu scheme chez-scheme

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

共享库(.so)文件是否需要在链接时显示(或指定)?

共享库(.so)文件是否需要在链接时显示(或指定)?

我在这里已经读到了(共享对象(.so),静态库(.a)和DLL(.so)之间的区别?),. so文件必须在编译时出现,但是根据我的经验,这不是真的吗?

共享库不是仅在运行时使用dlopen和链接dlsym,以便在链接应用程序时该库可能不存在于系统上吗?

c++ dll shared-libraries

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

在调用execl()之后退出(0)是否有意义?

请考虑以下代码:

close(channel_data->pty_master);

if (login_tty(channel_data->pty_slave) != 0) // new terminal session
{
    exit(1); // fail
}

execl("/bin/sh", "sh", mode, command, NULL); // replace process image
exit(0);
Run Code Online (Sandbox Code Playgroud)

根据文档execl(),当前的过程映像正在被替换,并且调用仅在错误时返回.

但是为什么在调用exit()之后调用execl()过程映像是否被替换?

c linux

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

如何在 Ubuntu 上使用旧版 SSL 支持编译 Curl?

尝试使用 Curl 连接到启用 HTTPS 的旧网站时,出现以下错误:

curl https://10.11.1.44
curl: (35) error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
Run Code Online (Sandbox Code Playgroud)

更详细地说:

* Expire in 0 ms for 6 (transfer 0x55a4192abdd0)
*   Trying 10.11.1.44...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55a4192abdd0)
* Connected to 10.11.1.44 (10.11.1.44) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2): …
Run Code Online (Sandbox Code Playgroud)

curl ubuntu-18.04

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

无法删除 Azure Data Studio 中的数据库,因为它当前正在使用中

我无法在 Azure Data Studio 中删除自定义数据库,因为它们当前正在使用中。

我一直在寻找关闭zap数据库的各种方法,但在 UI 中找不到任何方法。

只有通过重新启动 Azure Data Studio,zap数据库才会处于“自动关闭”状态,这让我可以使用以下方法删除它:

drop database zap;

如何在不重新启动 Azure Data Studio 的情况下关闭与数据库的连接?

打开:

自动关闭:

sql windows sql-server

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

MS 加载程序将 PE 文件的哪些部分映射到内存中?

MS 加载程序将 PE 文件的哪些部分映射到内存中?

从 PE 文档中,我可以推断出 PE 可执行文件的典型格式(见下文)。

我知道,通过检查,PE 文件的所有内容,直到并包括节头,都完全按照存储在磁盘上的方式映射到内存中。

接下来发生什么?

文件的其余部分是否也被映射(在这里我指的是下图中的图像页面部分),以便整个文件完全像存储在磁盘上一样在内存中,或者加载程序是否比这更具选择性?

在文档中,我发现了以下代码段:

另一个例外是属性证书和调试信息必须放在图像文件的最后,属性证书表紧跟在调试部分之前,因为加载程序不会将它们映射到内存中。但是,关于属性证书和调试信息的规则不适用于目标文件。

这就是我能找到的关于加载器行为的全部内容;它只是说这两部分必须放在文件的最后,因为它们不会进入内存。

但是,如果加载程序加载除这两部分之外的所有内容,并且我将 RVA 部分设置得足够高,那么实际上会在内存中复制部分数据(一次在映射文件中,一次用于 RVA 指定的位置)?

如果可能,请链接到我可以进一步阅读有关特定于 MS Windows 的加载的地方。

在此处输入图片说明

windows x86 assembly loader portable-executable

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

如何使用shell命令在GDB中设置环境变量?

我只想在其环境中运行gdb一个变量MyVar

但是,变量的内容非常复杂,包含不可打印的ASCII,因此最好使用例如设置MyVar=$(python -c 'print("\xff...")')

我有两个选择:

  1. 在运行之前设置MyVarin 。然后在内部,使用(非常乏味!)单独删除所有其他环境变量。bashgdbgdbunset environment NAME

  2. 使用清除所有环境变量unset environment。然后在内部gdbMyVar使用shell命令进行设置(如上所述)(如何?)

有任何想法吗?

linux x86 gdb

5
推荐指数
2
解决办法
440
查看次数

为什么我不能将 PowerShell 的 Start-Process 与 -Credential 和 -Verb 参数一起使用?

使用powershell.exe,我想通过 UAC 提升权限的额外好处来模拟cmd.exerunas命令。

但是,如果我同时向 提供-Credential-Verb Runas参数,则会Start-Process出现以下错误:

Start-Process powershell.exe -Credential (New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList 'username',(ConvertTo-SecureString 'password' -AsPlainText -Force)) -ArgumentList '-NoProfile' -Verb RunAs

Start-Process : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Start-Process powershell.exe -Credential (New-Object -TypeName System ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Start-Process], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.StartProcessCommand
Run Code Online (Sandbox Code Playgroud)

仅使用这些参数之一不会产生错误:

Start-Process -Verb RunAs powershell.exe -ArgumentList "-NoProfile"
Run Code Online (Sandbox Code Playgroud)

这是为什么?Start-Processaccept 的两种语法形式 …

powershell

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

如何将 POST 请求正文中的有效 XML 提交到使用 XML 的 ASP.NET Core Web API?

我已经安装Microsoft.AspNetCore.Mvc.Formatters.Xml并设置如下ConfigureServices()

services.AddMvc().AddXmlSerializerFormatters();
Run Code Online (Sandbox Code Playgroud)

现在,我创建了一个简单的 Web API,如下所示:

[HttpPost]
[Consumes("application/json", new string[]{"application/xml"})]
public ActionResult<string> OnPost([FromBody] ZapScan scan)
{
    return scan.ToString();
}
Run Code Online (Sandbox Code Playgroud)

接受一个ZapScan通过模型绑定:

public class ZapScan
{
    public string Url { get; set; }
    public bool Priority { get; set; }

    public override string ToString()
    {
        return $"url={Url}, priority={Priority}\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我从 Postman 发送的任何 XML 都被拒绝,例如:

<?xml version="1.0" encoding="UTF-8"?>
<zapscan>
    <url>http://www.example.cm</url>
    <priority>false</priority>
</zapscan>
Run Code Online (Sandbox Code Playgroud)

结果是:

{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"One or more validation errors occurred.","status":400,"traceId":"|f16a42f4-4c8f4678c6f84eb7.","errors":{"":["An error occurred while deserializing input data."]}}
Run Code Online (Sandbox Code Playgroud)

如何将 POST …

.net c# asp.net .net-core

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