小编Wal*_*t D的帖子

在新的Mac OS X终端窗口中运行命令

我一直试图弄清楚如何在新的Max OS X Terminal.app窗口中运行bash命令.举个例子,这是我在新的bash过程中运行命令的方法:

bash -c "my command here"
Run Code Online (Sandbox Code Playgroud)

但是,这会重用现有的终端窗口而不是创建新的终端窗口.我想要的东西:

Terminal.app -c "my command here"
Run Code Online (Sandbox Code Playgroud)

但当然这不起作用.我知道"open -a Terminal.app"命令,但是我没有看到如何将参数转发到终端,或者即使我使用了什么参数.

macos bash terminal

85
推荐指数
5
解决办法
12万
查看次数

转换为Visual Studio 2010/.Net 4.0后,app.config"无法找到架构信息"

将项目升级到Visual Studio 2010和.Net 4.0后,我的app.config文件在构建项目时生成以下消息:

  • 找不到元素'supportedRuntime'的架构信息.
  • 找不到属性"version"的架构信息.
  • 找不到属性'sku'的架构信息.

这是我的整个app.config文件:

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/>
  </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如果我创建一个新的VS2010项目并逐字地复制/粘贴相同的app.config文件,我收不到这样的消息.

显然,这些消息不会导致任何运行时问题,但它们仍然令人讨厌和令人不安.

如何修复出现这些消息的问题?

我在app.config看到答案,configSections自定义设置无法找到架构信息,但我在属性列表中看不到输入架构的路径.

谢谢.

.net xsd app-config visual-studio-2010

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

编辑数百条Git提交消息的最快方法是什么?

我有一个相当大的Git存储库,有1000个提交,最初是从SVN导入的.在我公开回购之前,我想清理一些在我的新回购中没有意义的提交消息,以及删除所有添加的git-svn信息文本.

我知道我可以使用'git rebase -i'然后'git commit --amend'来编辑每个单独的提交消息,但是要编辑数百条消息,这对你知道什么是一个巨大的痛苦.

有没有更快的方法来编辑所有这些提交消息?理想情况下,我将每个提交消息列在一个文件中,我可以在一个地方编辑它们.

谢谢!

git

27
推荐指数
4
解决办法
5078
查看次数

如何为应用程序的Mac OS X应用程序包设置图标?

我有一个应用程序,我已捆绑到Mac OS X应用程序包中.一切都运行正常,但我想从默认值更改其图标.如何设置其图标?谢谢.

macos

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

在.Net中,出于性能原因,我是否应该通过引用传递结构?

在我的C#应用​​程序中,我有一个大型结构(176字节),每秒可能传递一十万次到一个函数.然后,该函数只需要一个指向struct的指针,并将指针传递给非托管代码.函数和非托管代码都不会对结构进行任何修改.

我的问题是,我应该通过值或引用将结构传递给函数吗?在这种特殊情况下,我的猜测是,通过引用传递比将176个字节推入调用堆栈要快得多,除非JIT碰巧认识到结构永远不会被修改(我的猜测是因为结构体不能识别这个结构)地址被传递给非托管代码)并优化代码.

既然我们正在使用它,那么让我们回答更常见的情况,即函数没有将结构的指针传递给非托管代码,而是对结构的内容执行一些只读操作.通过引用传递结构会更快吗?在这种情况下,JIT会认识到结构永远不会被修改,从而进行优化吗?据推测,通过引用传递一个1字节的结构并不是更有效,但是如果有的话,通过引用传递结构的结构大小会更好吗?

谢谢.

编辑:

如下所述,还可以为常规使用创建"等效"类,然后在传递给非托管代码时使用结构.我在这里看到两个选项:

1)创建一个简单包含结构的"包装器"类,然后在必要时将指针指向结构并传递给非托管代码.我看到的一个潜在问题是钉扎有其自身的性能影响.

2)创建一个等价的类,当需要struct时,其字段被复制到struct.但是复制需要花费很多时间,而且在我看来首先要通过引用来打败它.

编辑:

正如下面提到的几次,我当然可以只测量每种方法的性能.我做到这一点,并发布结果.但是,我仍然有兴趣从知识分子的角度看待人们的答案和推理.

.net c# optimization

16
推荐指数
2
解决办法
3303
查看次数

如何从'git filter-branch'获取old-> new重写提交SHA的列表?

运行后git filter-branch,如何获取由filter-branch重写为新的相应提交SHA的旧提交SHA列表?

例如,类似于:

b19fd985746c1f060f761d42d353e387bec243fb -> c8ab40ef9bae3b58642a8d1e5b90720d093a60b5
c5ebba1eeb92ca76c0effa32de14178ec7f07db6 -> 4d5a9958b98dbcfa47ce1354bb2af4cc77904639
705f71543235b872ca3e1067538e36d14044429d -> d2aafbd6e5b91955b62dee34f4a0abf0171ba016
Run Code Online (Sandbox Code Playgroud)

左列是原始SHA的列表,右列是filter-branch重写后的新SHA.

我看到filter-branch 的手册页提到了一个map函数,但我不明白这是否有用,或者是否有用,如何使用它.

谢谢你的帮助!

git git-filter-branch

13
推荐指数
1
解决办法
1248
查看次数

为什么 Vector2.Normalize() 的结果在使用相同输入调用 34 次后会发生变化?

这是一个简单的 C# .NET Core 3.1 程序,它System.Numerics.Vector2.Normalize()在循环中调用(每次调用都具有相同的输入)并打印出结果归一化向量:

using System;
using System.Numerics;
using System.Threading;

namespace NormalizeTest
{
    class Program
    {
        static void Main()
        {
            Vector2 v = new Vector2(9.856331f, -2.2437377f);
            for(int i = 0; ; i++)
            {
                Test(v, i);
                Thread.Sleep(100);
            }
        }

        static void Test(Vector2 v, int i)
        {
            v = Vector2.Normalize(v);
            Console.WriteLine($"{i:0000}: {v}");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在我的计算机上运行该程序的输出(为简洁起见被截断):

0000: <0.9750545, -0.22196561>
0001: <0.9750545, -0.22196561>
0002: <0.9750545, -0.22196561>
...
0031: <0.9750545, -0.22196561>
0032: <0.9750545, -0.22196561>
0033: <0.9750545, -0.22196561>
0034: <0.97505456, -0.22196563> …
Run Code Online (Sandbox Code Playgroud)

.net c# .net-core

10
推荐指数
1
解决办法
521
查看次数

为什么这个自定义 Vector2 结构的性能比这个自定义 Vector4 差这么多?

虽然标杆一些自定义矢量类型,我发现,我的意料,我Vector2类型是许多基本操作慢得多从阵列中读取时,比我的Vector4型(和的Vector3)尽管有代码本身更少的操作,字段和变量。这是一个大大简化的示例,演示了这一点:

using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;

namespace VectorTest
{
    [StructLayout(LayoutKind.Sequential, Pack = 4)]
    public struct TestStruct4
    {
        public float X, Y, Z, W;

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public TestStruct4(float x, float y, float z, float w)
        {
            X = x;
            Y = y;
            Z = z;
            W = w;
        }

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static TestStruct4 operator +(in TestStruct4 a, in TestStruct4 b)
        {
            return new TestStruct4(
                a.X + b.X,
                a.Y + b.Y,
                a.Z + b.Z,
                a.W + b.W);
        } …
Run Code Online (Sandbox Code Playgroud)

.net c# performance

9
推荐指数
1
解决办法
93
查看次数

如何在 Visual Studio 中选择调试配置文件?

我在 Visual Studio 2019 中有一个 .NET Core 3(不是ASP)项目,它有两个不同的启动配置文件:

在此处输入图片说明

但是每当我启动我的项目时,它总是使用第一个配置文件,即使我在我的项目设置中选择了第二个配置文件。如何告诉 Visual Studio 实际使用其他启动配置文件?

编辑:这是我的工具栏的样子:

在此处输入图片说明

我没有下拉菜单来选择启动配置。我找到了“启动调试目标”命令,可以将它添加到我的工具栏,但它也没有下拉菜单,它看起来就像常规的启动按钮。

visual-studio .net-core

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

如何一键启动/调试具有不同启动配置文件的同一项目的多个实例?

我有一个 Visual Studio C# 项目,我想运行/调试该项目的多个实例,每个实例具有不同的启动配置文件。由于这是我经常做的事情,因此我能够以尽可能少的点击/击键(最好是 1 次)来运行项目,这一点很重要。

我知道一些“几乎”的解决方案不太有效,所以我会提到这些以及为什么它们对我不起作用:

有任何想法吗?

c# visual-studio

8
推荐指数
0
解决办法
606
查看次数