如何在VSCode中自动硬包裹线?我的意思是,如果一行到达指定的列,则自动在最靠近该列的单词边界处插入换行符而不进行操作.Vim有一个名为textwidth的设置,我喜欢在编辑Markdown时使用它.据我所知,它似乎不像VSCode.它只是控制软包装的方法.
我可以使用c ++ 11中的任何东西并期望编译的二进制文件在旧系统上运行吗?如何判断c ++ 11的哪些部分是libstdc ++的一部分.那么实际编译成二进制文件的是什么?也许我不完全理解这些事情是如何起作用的.c ++ 11是否会破坏ABI与旧库的兼容性?
清晰的一个例子:
假设我编译了一个使用auto的程序和基于for循环的新范围.这些东西看起来应该适用于具有旧c ++运行时的系统,因为它们分解为在这些机器上有效的c ++.但是,使用像regex这样的东西应该在旧系统上中断,因为它不会在运行时.
我还没有测试过我的理论,因为我无法访问兼容c ++ 11的编译器,而且我的谷歌搜索也没有用.
我将终端设置为 zsh,在 iTerm2 中,我可以按ctrl+e将光标移动到行尾,然后ctrl+a移动到行首。在 VSCode 中,这只是打印出一个文字^E^A. 是否需要设置允许终端响应 emacs 样式命令?
我在Amazon EC2服务器上安装numpy时遇到问题.我尝试在虚拟环境中使用easy_install,pip,pip,使用python 2.7在另一个虚拟环境中进行pip ...
每次我尝试时,它都会失败并出现错误:gcc: internal compiler error: Killed (program cc1)然后我接下来就得到了一堆python错误,我得到了easy_install:ImportError: No module named numpy.distutils和pip我得到:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128).
EC2实例正在运行内核3.4.43-43.43.amzn1.x86_64.有人解决了这个问题吗?Numpy对我来说一直很难安装,但我通常可以搞清楚......在这一点上我并不关心它是否属于它自己的virtualenv,我只想安装它.
在linux中,是否可以在当前关注的GUI应用程序更改时收到通知?我正在编写一个应用程序来跟踪用户在每个GUI应用程序上停留的时间(每个进程,而不是在一个进程内),并且需要某种方式来访问此信息.我是用c ++做的.
xprop -id $(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}') | awk '/_NET_WM_PID\(CARDINAL\)/{print $NF}'
Run Code Online (Sandbox Code Playgroud)
这打印出当前关注的应用程序的pid,但需要我经常拉.我宁愿不拉,但如果必须,我会.它还假设所有GUI都通过x11,这可能不是一个不合理的假设,但不是完全可移植的.
另一种方法是编写一个挂钩到各种gui函数的共享对象,然后修改主机系统的ld.so.preload文件,以便为每个进程加载此共享对象.这假设所有gui应用程序都使用动态链接的图形库.我还必须为每个图形库编写钩子以确保完全覆盖.在研究GTK(我在运行Gnome的系统上进行测试)时,我还没有找到任何在窗口开关上调用的函数.虽然我看起来并不是很努力.
编辑:
好的,这是我到目前为止,基于@Andrey的代码:
#include <X11/Xlib.h>
#include <cstring>
#include <iostream>
using namespace std;
pid_t get_window_pid( Display * d, Window& w );
int main()
{
Display * d;
Window w;
XEvent e;
d = XOpenDisplay( 0 );
if ( !d ) {
cerr << "Could not open display" << endl;
return 1;
}
w = DefaultRootWindow( d );
XSelectInput( d, w, PropertyChangeMask );
pid_t window_pid; …Run Code Online (Sandbox Code Playgroud) 我正在制作一个模块,我想将其视为对象的静态容器.这些对象属于我定义的类类型.我希望能够导入此模块,然后循环遍历其中的对象.以下是一些解释我的意思的代码:
example.py
class MyExampleClass(object):
def __init__(self, var1, var2, var3):
self.var1 = var1
self.var2 = var2
self.var3 = var3
self.var4 = var4
instanceA = MyExampleClass(1, 2, 3, 4)
instanceB = MyExampleClass(4, 3, 6, 7)
instanceC = MyExampleClass(5, 3, 4, 5)
# something like this
def __iter__():
return (instanceA, instanceB, instanceC)
Run Code Online (Sandbox Code Playgroud)
然后我希望能够导入它并像枚举一样使用它:
import example
for e in example:
# do stuff with e
Run Code Online (Sandbox Code Playgroud)
这可以用Python做吗?或者我是否必须从example包中导入列表?
example.py
objects = (instanceA, instanceB, instanceC)
Run Code Online (Sandbox Code Playgroud)
然后
import example
for e in example.objects:
# do stuff …Run Code Online (Sandbox Code Playgroud) 在 C++ 中,我可以编写一个带有带std::string参数的构造函数的类。由于隐式转换,这将允许我从std::string或构造此类的实例char *。
有没有理由同时拥有std::string构造函数和char *构造函数?
class MyStringClass {
public:
MyStringClass( const std::string &str ); // char *'s could implicitly use this constructor
MyStringClass( const char * str ); // would this ever be necessary?
};
Run Code Online (Sandbox Code Playgroud)
这个问题也适用于函数参数。
void do_stuff_with_string( const std::string &str );
void do_stuff_with_string( const char * str );
Run Code Online (Sandbox Code Playgroud)
编辑:
澄清一下,我想知道更多关于性能的信息。假设这些构造函数/函数正在调用只接受char *. std::string如果我不需要,有两个单独的函数来避免构造 a是否值得?
void do_stuff_with_string( const std::string &str )
{
do_stuff_with_string( str.c_str() );
}
void …Run Code Online (Sandbox Code Playgroud) 我一直在用 linux 上的 proc 文件系统做一些事情,我遇到了一些我想澄清的行为。
每个进程/proc都有一个指向它的可执行文件的符号链接,/proc/{pid}/exe. 如果一个进程在其可执行文件被删除后继续运行,读取此符号链接将返回可执行文件的路径,(deleted)并附加到末尾。
运行此命令,您甚至可能会在系统上看到一些:
grep '(deleted)' <(for dir in $(ls /proc | grep -E '^[0-9]+'); do echo "$dir $(readlink /proc/$dir/exe)"; done)
Run Code Online (Sandbox Code Playgroud)
我尝试使用一些简单的 bash 命令重新创建此行为:
>>> echo "temporary file" >> tmpfile.test
>>> ln -s tmpfile.test tmpfile.link
>>> rm tmpfile.test
>>> readlink tmpfile.link
tmpfile.test
Run Code Online (Sandbox Code Playgroud)
没有(deleted)附加到名称!尝试cat tmpfile.link确认链接已断开 ( cat: tmpfile.link: No such file or directory)。
然而,前几天,同样的测试确实导致了一个(deleted)被附加到 readlink 的输出。是什么赋予了?
这是我想知道的:
(deleted)将附加到名称?/proc/{pid}/exe显示(deleted) …首先,我使用的是ruby的aws-sdk,但是我面对的似乎是对S3的预贴帖子的误解。
我想要做的是确保通过我的预贴帖子上传到S3的所有内容都是视频。
我尝试做的是content_type_starts_with: "video/"在presigned_post哈希中设置。这会导致所有上载被拒绝Policy Condition failed: ["starts-with", "$Content-Type", "video/"]。
然后content_type: "video/mp4",我尝试了,但是这导致s3允许任何文件上传,然后仅Content-Type: "video/mp4"在元数据中对其进行标记。
然后我注意到,当我上传没有Content-Type约束的文件时,S3会将文件标记为binary/octet-stream。因此,我再次尝试了第一种方法,但是这次使用content_type_starts_with: "binary/"。结果与之前相同Policy Condition Failed。
我应该如何使用Content-Type字段?它似乎从未做过我想要做的事情。
这是我正在使用的代码的片段:
# In the controller
client = Aws::S3::Client.new(region: 'us-east-1')
resource = Aws::S3::Resource.new(client: client)
bucket = resource.bucket("my-bucket")
object_id = SecureRandom.uuid
object = bucket.object(object_id)
@presigned_post = object.presigned_post({
acl: "private",
content_length_range: 0..104857600, # 100 MB
content_type_starts_with: "video/",
})
# In the presigned post erb
<form action="<%= presigned_post.url %>" method="post" enctype="multipart/form-data">
<% presigned_post.fields.each …Run Code Online (Sandbox Code Playgroud) 在工作中,我们在自定义环境下运行python,因此我们使用了非标准的shebang。我测试了一下VSCode承认Python文件没有一个.py扩展名,如果他们有一个认领这两种#!/usr/bin/env python或/usr/bin/python或这些变异体。
在工作中,我使用类似于以下的shebang:#!/some/directory/envroot "$ENVROOT/bin/python"但是vs代码无法识别这一点,因此我每次必须手动将语言设置为python。
是否有某个配置可以将自定义shebang映射到一种语言,所以我不必在每次打开文件时手动进行设置?