小编Cob*_*ast的帖子

用sed替换多行的单词?

我正在研究一个bash脚本,它必须准备一封电子邮件发送给用户.

它汇总了一些数据,最终会产生多行内容.对于存储的示例$DATA.

现在,经过一些stfw我找到了一些类似的东西,sed -ei "s/_data_/${DATA}/g" mail.tpl并且还用多行替换变量.他们都没有工作.

现在问题是,如何sed用多行文本替换某些内容?

(sed也欢迎替代品!)

bash replace sed

27
推荐指数
7
解决办法
3万
查看次数

如何加入重叠的圈子?

我想在视觉上加入两个重叠的圆圈

AltText

替代文字

我已经有了部分圆的方法,但现在我需要知道earch圆的重叠角度有多大,我不知道该怎么做.

有人有想法吗?

c# opengl math geometry opentk

21
推荐指数
3
解决办法
2234
查看次数

如何防止grep打印尾随换行符?

grep用来生成将由另一个程序解析的输出.

但是,该程序只希望输出为数字或零字节.

现在在grep输出后输出换行符.我已经检查了-Z选项,但它似乎不起作用,因为我使用grep进行count(-c).

我正在执行sh,而不是bash.因此嵌套它echo -n "$(grep -c pattern)"也不起作用.

如何摆脱拖尾换行?

linux grep newline

21
推荐指数
3
解决办法
4万
查看次数

C#调用C函数返回具有固定大小char数组的struct

所以,这个问题已经出现了很多变种,在看了几个后我仍然无法弄明白.

这是C代码:

typedef struct
{
unsigned long Identifier;
char Name[128];
} Frame;

Frame GetFrame(int index);
Run Code Online (Sandbox Code Playgroud)

这是C#代码:

struct Frame
{
    public ulong Identifier;
    [MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.I1, SizeConst = 128)]
    public char[] Name;
}

[DllImport("XNETDB.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
private static extern Frame GetFrame(int index);
Run Code Online (Sandbox Code Playgroud)

这是我在C#中尝试过的最后一次尝试,看起来非常符合逻辑,但我得到的错误是"方法的签名与PInvoke不兼容".所以,我有点迷失下一步的尝试.任何帮助表示赞赏.

谢谢,凯文

Kevin 更新了这个作为我的答案的编辑

我应该改变我的C代码:

void GetFrame(int index, Frame * f);
Run Code Online (Sandbox Code Playgroud)

并使用C#代替:

struct Frame
{
    public uint Identifier;
    [MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 128)]
    public string Name;
}

[DllImport("XNETDB.dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)] …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke

18
推荐指数
2
解决办法
7706
查看次数

如何防止Visual Studio 2012中的自动单元测试执行?

每次我编译我的解决方案时,单元测试开始在后台运行,就像我在测试资源管理器中看到的那样.

是否有任何配置阻止VS这样做?

unit-testing visual-studio-2012

14
推荐指数
1
解决办法
7165
查看次数

如何使用GNOME的镜子?

我想进入Gnome Shell的扩展开发,但我似乎无法理解我是如何在Looking Glass中执行一些lg实际调试我的东西的任务.

  1. 当我输入global.log("hi");LG时,它会把我扔回去r(...) = undefined.为什么?
  2. 当我想调试不加载的扩展时,我该怎么做?
    很高兴看到无法加载扩展的原因.
    我试过Main.ExtensionSystem.loadExtension()undefined无论是否给它扩展名的字符串或扩展名的对象,它都会返回.
  3. 我在哪里可以找到类,对象和成员方法的文档?
    (LG检查员似乎无法检查功能.)

如果我拥有这些资源,我至少可以开始为更新的Gnome版本更新一些扩展.我不会问这些简单的问题,如果他们会在某处得到很好的解释,但获取所有信息看起来真的很难(我用谷歌搜索了几个小时).

debugging gnome-shell gnome-shell-extensions looking-glass

12
推荐指数
1
解决办法
2808
查看次数

正确的OpenGL矩阵格式?

我的问题很简单:Projection和ModelView矩阵的正确格式是什么?

我被告知下面的示例矩阵是转置的,并不像OpenGL矩阵那样构建.

ModelView Matrix
{(1, 0, 0, 0)
(0, 0.7071068, 0.7071068, 0)
(0, -0.7071068, 0.7071068, 0)
(0, -141.4214, -141.4214, 1)}

Projection Matrix
{(1.931371, 0, 0, 0)
(0, 2.414213, 0, 0)
(0, 0, -1.0002, -1)
(0, 0, -2.0002, 0)}
Run Code Online (Sandbox Code Playgroud)

opengl math matrix

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

Urlencode除了斜线之外的一切?

是否有任何干净,简单的方法来urlencode()任意字符串但只留下斜杠(/)?

php urlencode

9
推荐指数
3
解决办法
9375
查看次数

为什么GLSL照明代码会使相机移动光点?

我正在尝试制作自定义灯光着色器,并且随着时间的推移尝试了很多不同的事情.我发现的一些解决方案效果更好,其他解决方案更糟.对于这个问题,我正在使用迄今为止效果最好的解决方案.

我的问题是,如果我移动"相机",光线位置似乎也会移动.这种解决方案在其中具有非常轻微但明显的移动,并且光位置似乎在它应该的位置之上.

默认的OpenGL灯光(没​​有任何着色器)工作正常(稳定的灯光位置),但我需要着色器进行多重纹理,我计划在它工作后使用它的一部分来实现灯光效果.

顶点来源:

varying vec3 vlp, vn;

void main(void)
{
    gl_Position = ftransform();

    vn = normalize(gl_NormalMatrix * -gl_Normal);
    vlp = normalize(vec3(gl_LightSource[0].position.xyz) - vec3(gl_ModelViewMatrix * -gl_Vertex));

    gl_TexCoord[0] = gl_MultiTexCoord0;
} 
Run Code Online (Sandbox Code Playgroud)

片段来源:

uniform sampler2D baseTexture;
uniform sampler2D teamTexture;
uniform vec4 teamColor;

varying vec3 vlp, vn;

void main(void)
{
    vec4 newColor = texture2D(teamTexture, vec2(gl_TexCoord[0]));
    newColor = newColor * teamColor;
    float teamBlend = newColor.a;

    // mixing the textures and colorizing them. this works, I tested it w/o lighting!
    vec4 outColor = mix(texture2D(baseTexture, vec2(gl_TexCoord[0])), …
Run Code Online (Sandbox Code Playgroud)

opengl shader lighting glsl

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

mb_detect_encoding将ASCII检测为UTF-8?

我正在尝试自动将导入的IPTC元数据从图像转换为UTF-8,以便基于PHP mb_函数存储在数据库中.

目前它看起来像这样:

$val = mb_convert_encoding($val, 'UTF-8', mb_detect_encoding($val));
Run Code Online (Sandbox Code Playgroud)

但是,当mb_detect_encoding()提供ASCII字符串(来自192-255的Latin1字段中的特殊字符)时,它会将其检测为UTF-8,因此在以下尝试将所有内容转换为正确的UTF-8时,将删除所有特殊字符.

我试着通过查找Latin1值来编写自己的方法,如果没有发生,我会继续让它mb_detect_encoding决定它是什么.但是当我意识到我不能确定其他编码不会对其他东西使用相同的字节值时,我中途停止了.

那么,有没有办法正确检测ASCII mb_convert_encoding作为源编码?

php string ascii utf-8 multibyte

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