小编Lou*_*ise的帖子

#include in .h或.c/.cpp?

当用C或C++编码时,我应该在哪里#include

callback.h:

#ifndef _CALLBACK_H_
#define _CALLBACK_H_

#include <sndfile.h>
#include "main.h"

void on_button_apply_clicked(GtkButton* button, struct user_data_s* data);
void on_button_cancel_clicked(GtkButton* button, struct user_data_s* data);

#endif
Run Code Online (Sandbox Code Playgroud)

callback.c:

#include <stdlib.h>
#include <math.h>

#include "config.h"

#include "callback.h"
#include "play.h"

void on_button_apply_clicked(GtkButton* button, struct user_data_s* data) {
  gint page;
  page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->notebook));

  ...
Run Code Online (Sandbox Code Playgroud)

是否所有包括在.h或.c/.cpp中,或两者都像我在这里做的那样?

c c++

105
推荐指数
4
解决办法
7万
查看次数

如何使用gcc/g ++在Linux上编译Windows?

我在Linux上使用freeglut用C++(g ++)编写了一些效果,然后用它编译它们

g++ -Wall -lglut part8.cpp -o part8
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有可能让g ++制作包含所需内容的静态编译Windows可执行文件?

我没有Windows,所以如果我能在Linux上做到这一点真的很酷:)

c++ opengl gcc glut freeglut

101
推荐指数
6
解决办法
15万
查看次数

如何从ffmpeg输出中提取持续时间?

要获得有关媒体文件的大量信息,可以执行此操作

ffmpeg -i <filename>
Run Code Online (Sandbox Code Playgroud)

它会输出很多行,特别是一行

Duration: 00:08:07.98, start: 0.000000, bitrate: 2080 kb/s
Run Code Online (Sandbox Code Playgroud)

我想只输出00:08:07.98,所以我试试

ffmpeg -i file.mp4 | grep Duration| sed 's/Duration: \(.*\), start/\1/g'
Run Code Online (Sandbox Code Playgroud)

但它会打印所有内容,而不仅仅是长度.

甚至ffmpeg -i file.mp4 | grep Duration输出一切.

我如何获得持续时间长度?

linux bash ffmpeg

65
推荐指数
5
解决办法
8万
查看次数

为什么驱动程序和固件几乎总是用C或ASM而不是C++编写?

我只是好奇为什么驱动程序和固件几乎总是用C或汇编编写,而不是C++?

我听说有技术原因.

有谁知道这个?

很多爱,路易丝

c c++

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

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

警告:在参数列表中声明'struct user_data_s'

我收到这个错误:

transform.c:23: warning: ‘struct user_data_s’ declared inside parameter list
transform.c:23: warning: its scope is only this definition or declaration, which is probably not what you want
Run Code Online (Sandbox Code Playgroud)

我认为是因为我有一个包含结构的结构.

这就是我想要做的:

void f2(struct user_data_s* data) {
  printf("Number %i\n", data->L);
}

void f1(struct user_data_s* data) {
  printf("Number %i\n", data->L);
  f2(data);
}
Run Code Online (Sandbox Code Playgroud)

f1中的printf工作,但是行

void f2(struct user_data_s* data) {
Run Code Online (Sandbox Code Playgroud)

给出了错误.

有谁知道我怎么解决这个问题?

c

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

如何合并二进制文件?

我在my_branch中有一个二进制文件,当我需要对它进行更改时,git当然不会合并它.

所以我现在做的是:

git checkout my_branch
# make a change to gui.bin
mv gui.bin ~/
git commit -a
mv ~/gui.bin .
git commit -a
# git rebase to 1 commit
git checkout master
git merge my_branch
Run Code Online (Sandbox Code Playgroud)

但是有更简单的方法吗?

git

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

如何使用LWP设置User-Agent?

我有Perl和LWP书籍,但如何设置用户代理字符串?

这就是我所拥有的:

use LWP::UserAgent;
use LWP::Simple; # Used to download files

my $u = URI->new($url);
my $response_u = LWP::UserAgent->new->get($u);
die "Error: ", $response_u->status_line unless $response_u->is_success;
Run Code Online (Sandbox Code Playgroud)

任何建议,如果我想像LWP::UserAgent我在这里一样使用?

perl

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

如何添加不同长度的向量?

我想在Matlab或Octave中添加两个不同长度的向量.例如

aa = [1 2 3 4];
bb = [100 100];
Run Code Online (Sandbox Code Playgroud)

哪个应该导致包含的向量cc

cc = [101 102 3 4]
Run Code Online (Sandbox Code Playgroud)

任何人都可以弄清楚如何做到这一点?

更新:这是我最终用于信号的代码,然后我将其转换为灰度图像.

load train;
t = y;
load chirp;
c = y;

tc = c + [t; zeros(length(c) - length(t),1)];

plot(1:length(tc),tc)
Run Code Online (Sandbox Code Playgroud)

非常感谢大家=)

matlab vector octave

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

在Git中重新启动许多提交.我究竟做错了什么?

我想将许多提交合并为一个.我已经按照之前StackOverflow 回答中描述的方法说:

# Go back to the last commit that we want to form the initial commit (detach HEAD)
git checkout <sha1_for_B>

# reset the branch pointer to the initial commit,
# but leaving the index and working tree intact.
git reset --soft <sha1_for_A>

# amend the initial tree using the tree from 'B'
git commit --amend

# temporarily tag this new initial commit
# (or you could remember the new commit sha1 manually)
git tag tmp

# go …
Run Code Online (Sandbox Code Playgroud)

git

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

标签 统计

c ×3

c++ ×3

git ×2

perl ×2

bash ×1

ffmpeg ×1

freeglut ×1

gcc ×1

glut ×1

linux ×1

matlab ×1

module ×1

octave ×1

opengl ×1

switch-statement ×1

vector ×1