我的git repositry中有一些垃圾提交.这些是由git gui在再次更改最新提交时创建的,并且意外地创建了其他提交.
现在我有一些提交,没有分配HEAD(分离,不是任何分支的一部分).
我想整理一下,我的问题是:如何删除这些提交(参见F,G和H)?这是使用rebase还是还原或重置?或者使用其他工具?我必须在哪个承诺上做这件事?
A -- B -- C -- D -- E [master]
\-- F -- G
\-- H
Run Code Online (Sandbox Code Playgroud)
谢谢
基督教
我想使用全局gitconfig文件设置我的git(TortoiseGIT),以便克隆存储库时的默认远程名称不是"origin",而是由我定义的其他文本(例如"foo").
这可能吗?哪些指令是那些?
谢谢
编辑:我的意图是,我为不同的独立任务(文档!)创建了几个较小的存储库,我厌倦了每次修改远程名称,因为它可以使用共享给其他用户.所以遥控器的名称应该是我的机器名称,以避免混淆其他git版本.我知道这不是最佳实践,但这就是生活:(.
我有以下问题:我想模拟一些控制工程系统.由于它非常复杂,我使用计算机导出一些(复杂的)方程式,这些方程式只能导出到fortran77代码.在我的开发电脑上这没问题(linux机器).
不,我想在硬件中这样做,在这里我必须使用Windows操作系统.不幸的是,matlab不支持windows上的gfortran.因此我无法在该框上编译fortran文件.
我的想法现在转换为C,因为C编译器可以在matlab上获得.还有其他(更好的)选择吗?
我有几个SUBROUTINES以下面的方式.
SUBROUTINE sys_rhs (x, v, dx, param)
REAL*8 x(6)
C code is coming here
RETURN
END SUBROUTINE
Run Code Online (Sandbox Code Playgroud)
这是一个很好的做法,它是否可以在用sys_rhs__C编写的接口函数中使用该函数?问题是,我无法测试它,因为我没有大量访问Windows机器.所以如果我尝试它应该工作,我不需要经常尝试.
另外我在windows上需要什么?我在哪里可以买到它们?
谢谢Christian
我有一个2D空间,其中定义了一个函数值(您可以将其视为一个流形).现在我使用contourf绘制了函数值,并将colormap更改为比jet更柔和的东西.到目前为止它看起来很不错.
现在我想在我的空间画一条代表状态的线.使用该plot命令也是可能的.但是我想要一些更多改进:现在有一个隐藏的额外状态(值0 ... 50).我想根据这种隐藏状态改变线条颜色.因此,在某种意义上,将单独的色彩映射应用于由plot例如瀑布图中绘制的线.
这是(或类似的)使用matlab可能吗?
谢谢
我有以下问题:我想使用java.util.logging.Logger.没有我发现不同的资源,1,2,3,如何能够修改记录的行为.
特别是在2 a(在我看来)的问题中,给出了根据类名初始化记录器的良好结构.如果需要,这还允许在基于包的级别上修改详细程度以进行调试.
经过一番深入研究后发现,全局记录器和"空"记录器(带名称"")不一样.另请参见下面的示例.我刚刚创建了一个记录器foo.Bar,它锚定在空记录器而不是被调用的记录器上foo.只有在我第一次创建记录器时bar,记录器bar.Baz才会正确锚定.
这使得这个问题中的方法主要无用,因为我们不能假设之前创建的父记录器.根据需要,我必须根据需要解析类名并创建记录器.
我是否正确我必须添加一些static {...}代码以递归方式初始化记录器,然后才能初始化自己的记录器?如果多个类调用Logger.getLogger(String)包记录器的方法(导致总体上多次调用,例如两者bar.Baz并bar.FooBaz获取记录器bar),这会产生任何负面影响吗?
import java.util.Enumeration;
import java.util.logging.LogManager;
import java.util.logging.Logger;
public class TestLogger
{
public static void main(String[] args)
{
// Create the logger directly
Logger.getLogger("foo.Bar");
// Create the logger objects step-by-step
Logger.getLogger("bar");
Logger.getLogger("bar.Baz");
// Put the available loggers to output
Enumeration<String> e = LogManager.getLogManager().getLoggerNames();
while(e.hasMoreElements()) …Run Code Online (Sandbox Code Playgroud) 我有一些类Foo和Logger:
class Logger{/* something goes here */};
class Foo{
Foo(Logger& logger);
Logger& logger;
}
Foo::Foo(Logger& logger) : logger(logger)
{}
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个Foo类对象数组,其中所有引用Foo::logger都应该指向同一个Logger对象.我尝试了类似的东西(我需要堆栈和堆分配):
Logger log (/* parameters */);
Foo objects [3] (log); // On stack
Foo* pObjects = new Foo [3] (log); // On heap
Run Code Online (Sandbox Code Playgroud)
问题是两个版本都试图调用Foo()不存在的默认构造函数.另据我的理解,无法更改引用的引用变量.因此,对默认构造函数的临时调用以及稍后在循环中的初始化也无济于事.
那么:做正确的方法是什么?我需要使用指向Logger对象的指针吗?
我正在考虑以下问题:我想用一个使用某种查找表的程序编程一个微控制器(比如一个AVR mega类型).
第一次尝试是将表定位在单独的文件中,并使用任何其他脚本语言/程序/创建它.在这种情况下,为C创建必要的源文件需要付出相当大的努力.
我的想法现在是使用预处理器和编译器来处理事情.我尝试用一个正弦值表来实现它(仅作为示例):
#include <avr/io.h>
#include <math.h>
#define S1(i,n) ((uint8_t) sin(M_PI*(i)/n*255))
#define S4(i,n) S1(i,n), S1(i+1,n), S1(i+2,n), S1(i+3,n)
uint8_t lut[] = {S4(0,4)};
void main()
{
uint8_t val, i;
for(i=0; i<4; i++)
{
val = lut[i];
}
}
Run Code Online (Sandbox Code Playgroud)
如果我编译此代码,我会收到有关该sin函数的警告.此外,在装配中,该部分没有任何内容.data.如果我只是删除sin第三行中的数据,我将获得程序集中的数据.显然,所有信息都可在编译时获得.
你能否告诉我是否有办法实现我的目的:编译器计算尽可能多的离线值?或者是使用外部脚本/程序/ ...来计算表条目并将它们添加到一个单独的文件中的最佳方法#include?
我有一个问题,我想编写一个程序,该程序必须与某些 3rd 方 Web 服务进行交互。此服务需要客户端(我的程序)通过用户名/密码组合以及令牌来授权自己的特定操作。用户名/密码特定于我的程序的用户,这里没有问题。令牌(API 密钥)有问题。
假设我想让我的程序开源并将其源代码放在某个公共服务器上。当然,我不能硬编码(或包含)API 密钥。否则,我不仅会违反不发布它的合同,而且任何(未经授权的)使用都将归咎于我和我的程序。
根据我的研究(例如,开源一个项目但对 API 密钥保密或如何在我的 Electron 应用程序中隐藏 API 密钥?)我可以在 3rd 方 API 和我的程序之间放置一个代理服务器(封闭源代码)。现在我看到有两扇敞开的大门让心怀不轨的人攻击这种情况:
所以现在我只是将问题转移到检测正在运行的软件是否是原始软件,从第 3 方转移到我的代理服务器。我唯一的好处是我可能知道哪个用户是坏人并禁止他,但这就是我所能做的,而我的令牌可能会被这个问题撤销。
很抱歉,我没有在网络上找到针对此特定问题的可用解决方案。我该如何解决这个问题(在抽象层面上)?
我正在参与构建一个曾经使用node-sass. sass我们同时迁移到,但我们仍然保留node-sass在我们的package-lock.json. 我想解决这个问题。
一开始,我们有这样的事情
\n$ npm ls node-sass\ncookbook@0.9.13 /home/private/Documents/Projekte/nextcloud-apps/nextcloud-app-dev/volumes/custom_apps/cookbook\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 node-sass@7.0.1\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\xac sass-loader@13.0.2\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 node-sass@7.0.1 deduped\nRun Code Online (Sandbox Code Playgroud)\n好的,让我们通过调用来删除依赖关系npm uninstall node-sass。结果是
$ npm ls node-sass\ncookbook@0.9.13 /home/private/Documents/Projekte/nextcloud-apps/nextcloud-app-dev/volumes/custom_apps/cookbook\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\xac sass-loader@13.0.2\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 node-sass@7.0.1\nRun Code Online (Sandbox Code Playgroud)\n我不明白原因,为什么sass-loader仍然取决于node-sass。好吧,让我们仔细看看:
$ npm why node-sass\nnode-sass@7.0.1 optional peer\nnode_modules/node-sass\n peerOptional node-sass@"^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" from sass-loader@13.0.2\n node_modules/sass-loader\n sass-loader@"^13.0.2" from the root project\n peer sass-loader@"^13.0.1" from @nextcloud/webpack-vue-config@5.3.0\n node_modules/@nextcloud/webpack-vue-config\n dev @nextcloud/webpack-vue-config@"^5.0.0" from the root project\nRun Code Online (Sandbox Code Playgroud)\n现在我有点惊讶了。该包 …
我想在另一个类周围写一个简单的包装器.一个小例子:
class MyClass {
...
int someMember();
...
};
class MyClassRefernence{
...
MyClass* ptr;
MyClass& operator *();
...
};
Run Code Online (Sandbox Code Playgroud)
如果我现在有一些代码如下:
MyClassReference ref;
... // Init the ref and the pointer ptr.
int a = (*ref).someMember(); // this works but is nasty
int b = ref->someMember(); // Compile error
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:有没有办法使用更漂亮的->运算符而不是(*...).构造?
我有一个问题,在linux下运行的C++程序,用g ++编译后会在一段时间后引发非法指令异常并且我得到一个核心转储.当我使用gdb进行回溯时,我得到了
(gdb) bt
#0 0x005e18cf in ATL_dpotrfL () from /usr/lib/liblapack.so.3gf
#1 0x00000001 in ?? ()
#2 0xb786f2e8 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么回溯中没有主要内容.?? ?? 似乎是我的linux库的一部分,没有调试符号.
我现在的问题是:该计划有什么问题?图书馆lapack是否被错误编译(我几天前复制了它)?或者还有其他错误吗?
我做了definitfly没有汇编或类似的东西.只有C++.
谢谢Christian
我有一个问题,我需要使用在 Windows 下创建(并且仍在使用)的 Subversion 存储库。因此默认编码是CP-1252.
现在我想在 linux 中查看这个存储库并使用 eclipse 更改那里的文件。如果可能的话,我不想使用iconvto重新编码整个文件UTF-8,因为我不知道 Windows 下的程序会表现得有多好。
我的第一个想法是将项目编码设置为CP-1252. 在我安装的 Eclipse 下(Linux 下的 Kepler)没有CP-125x编码选项。只有一些UTF-*是ISO-8859-1可以选择的。
有没有办法在 eclipse 中安装更多编码?
我想调试我写的程序.因此我想用"-g -O0"链接它.当我使用编译(使用autotools Makefile)时
制作CXXFLAGS =' - g -O0'
我收到一些错误:
libtool:link:g ++ -O2 -g -O0 -I/opt/adolc-2.2.1/include -o oc_poly oc_poly-oc_poly.o oc_poly-oc_p2p.o -L/opt/ipopt-3.9.3/lib/coin -L/opt/ipopt-3.9.3/lib/coin/ThirdParty -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux -gnu/gcc/i686-linux-gnu/4.5.2 /../../ .. -L/usr/lib/i386-linux-gnu /opt/ipopt-3.9.3/lib/coin/libipopt. so -llapack -ldl /opt/ipopt-3.9.3/lib/coin/ThirdParty/libcoinhsl.so /opt/ipopt-3.9.3/lib /coin/ThirdParty/libcoinblas.so /opt/ipopt-3.9.3/ lib/coin/ThirdParty/libcoinlapack.so /opt/ipopt-3.9.3/lib/coin/ThirdParty/libcoinmumps.so -lpthread -lblas -lgfortran -lm -lgcc_s /opt/ipopt-3.9.3/lib/coin/ ThirdParty/libcoinmetis.so -L/opt/adolc-2.2.1/lib /opt/adolc-2.2.1/lib/libadolc.so -Wl,-rpath -Wl,/ opt/ipopt-3.9.3/lib/coin -Wl,-rpath -Wl,/ opt/ipopt-3.9.3/lib/coin/ThirdParty -Wl,-rpath -Wl,/ opt/adolc-2.2.1/lib -Wl,-rpath -Wl,/ opt/ipopt-3.9.3/lib/coin -Wl,-rpath -Wl,/ opt/ipopt-3.9.3/lib/coin/ThirdParty -Wl,-rpath -Wl,/ opt/adolc-2.2.1/lib oc_poly-oc_p2p.o:在f 结
OCP_P2P::get_bounds_info(int, double*, double*, int, double*, double*)': /home/christian/Dokumente/Uni/SA/ist/Berechnungen/Optimale Steuernug/IpOpt /oc_p2p.cpp:162: undefined reference toOCP_P2P :: …
c++ ×4
c ×2
g++ ×2
git ×2
matlab ×2
reference ×2
api-key ×1
arrays ×1
colors ×1
cp1252 ×1
eclipse ×1
encoding ×1
fortran ×1
gcc ×1
instructions ×1
java ×1
logging ×1
npm ×1
open-source ×1
optimization ×1
plot ×1
tortoisegit ×1
translation ×1
undefined ×1
utf-8 ×1
web-services ×1