有没有办法隐藏元素的内容,但保持其:before
内容可见?说我有以下代码:
HTML:
<span class="addbefore hidetext">You are here</span>
Run Code Online (Sandbox Code Playgroud)
CSS:
.addbefore:before {
content: "Show this";
}
.hidetext {
// What do I do here to hide the content without hiding the :before content?
}
Run Code Online (Sandbox Code Playgroud)
我试过了:
display: none
和设置display: inline
上:before
,但两者都还隐藏 width: 0; overflow: hidden
;,但是似乎添加了额外的空间(?) text-indent: -....px
,但是
关于我如何做到这一点的任何其他想法?
结构hack你有一个长度为0的数组作为C90和C99的结构的最后一个成员是众所周知的,并且随着C99中灵活的数组成员的引入,我们甚至得到了使用它的标准化方法[]
.不幸的是,C++没有提供这样的构造,并且(至少使用Clang 3.4),使用[0]
或编译结构或[]
将产生编译警告--std=c++11 -pedantic
:
$ cat test.cpp
struct hack {
char filler;
int things[0];
};
$ clang++ --std=c++11 -pedantic test.cpp
\test.cpp:3:14: warning: zero size arrays are an extension [-Wzero-length-array]
int things[0];
Run Code Online (Sandbox Code Playgroud)
和类似的
$ cat test.cpp
struct fam {
char filler;
int things[];
};
$ clang++ --std=c++11 -pedantic test.cpp
\test.cpp:3:7: warning: flexible array members are a C99 feature [-Wc99-extensions]
int things[];
Run Code Online (Sandbox Code Playgroud)
我的问题是这个; 说我希望有一个包含可变大小数组的结构作为C++中的最后一项.给定支持两者的编译器,做什么是正确的?我应该使用struct hack [0]
(编译器扩展)还是FAM []
(这是C99功能)?据我所知,要么会奏效,但我想弄明白哪个是较小的邪恶?
此外,在人们开始建议int*
在结构中保留一个单独分配的内存之前,这不是一个令人满意的答案.我想分配一块内存来保存我的struct和数组元素.使用std :: vector也属于同一类别.如果你想知道为什么我不想使用指针,那么 …
我正在使用GTK 构建一个相当简单的C应用程序,但必须执行一些阻止IO,这将触发GUI的更新.为了做到这一点,我在此pthread
之前开始一个新的权利gtk_main()
:
/* global variables */
GMainContext *mainc;
/* local variables */
FILE *fifo;
pthread_t reader;
/* main() */
mainc = g_main_context_default();
pthread_create(&reader, NULL, watch_fifo, argv[argc-1]);
gtk_main();
Run Code Online (Sandbox Code Playgroud)
当pthread
读取一些数据时,它会更新GUI,如下所示:
g_main_context_invoke(mainc, set_icon, param);
Run Code Online (Sandbox Code Playgroud)
哪里set_icon
是
gboolean set_icon(gpointer data)
{
char *p = (char*)data;
gtk_status_icon_set_from_icon_name(icon, p);
return FALSE;
}
Run Code Online (Sandbox Code Playgroud)
这一切都在大部分时间都有效,但我不时地得到这个奇怪的错误信息:
[xcb] Unknown sequence number while processing queue [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry …
使用https:// urls调用file_get_contents()会出现以下错误:
warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP?
Run Code Online (Sandbox Code Playgroud)
我已经阅读了10多个SO问题,所有人都说要启用 extension=php_openssl.dll
我这样做了,我还有问题......
还有什么呢?
我正在编写一个C++应用程序,我想让开发人员在编译时选择用于特定问题的算法.这两种算法都是作为实现通用接口的C++类实现的,并且是相互替代的替代品.它们都有.h和.cpp文件,并且驻留在子目录中(让我们称之为impl/
).
在我的Makefile中,我有类似的东西:
...
IMPL = default
...
binary: ... impl/$(IMPL).o
...
impl/%.o: impl/%.cpp impl-interface.h impl/%.h
...
%o: %.cpp ...
$(CXX) $(CXXFLAGS) -DIMPL=$(IMPL) -c -o $@ $*.cpp
Run Code Online (Sandbox Code Playgroud)
这个想法是用户应该能够输入make binary IMPL=thatimpl
.
在任何想要使用用户选择的算法的文件中,我会这样做:
IImpl o = new IMPL();
Run Code Online (Sandbox Code Playgroud)
但是,这要求我包含所选实现的头文件.不幸的是,C++需要#include
后跟a "string"
,a <libfile>
.您也可以使用此处建议的宏,但它要求宏的参数为文字字符串.如果我使用:
#define QUOTEME(M) #M
#define INCLUDE_FILE(M) QUOTEME(impl/##M##.h)
#include INCLUDE_FILE(IMPL)
Run Code Online (Sandbox Code Playgroud)
编译器将尝试包含文字字符串impl/IMPL.h
,而不是扩展IMPL
到传递给make
编译器的任何内容.
关于如何实现这一点的任何指示都将非常受欢迎!
这个问题特定于opencv:opencv文档中给出的kmeans示例有一个双通道矩阵 - 特征向量的每个维度都有一个通道.但是,其他一些例子似乎表明它应该是一个单通道矩阵,沿着列有特征,每个样本有一行.哪个是对的?
如果我有一个5维特征向量,我应该使用的输入矩阵:这一个:
cv::Mat inputSamples(numSamples, 1, CV32FC(numFeatures))
Run Code Online (Sandbox Code Playgroud)
或者这个:
cv::Mat inputSamples(numSamples, numFeatures, CV_32F)
Run Code Online (Sandbox Code Playgroud) 我现在已经摸不着头脑了一个小时,谷歌证明其用途有限.我有一个包含图形的报告的Makefile.图形由目录图形/中的.plot文件表示,gnuplot用于从它们生成.tex和.eps文件.然后使用ps2pdf从.eps生成pdf,最后\include
report.tex中的命令将图形.tex包含到文档中,该文档再次包含图形.pdf以将图形放在最终的report.pdf中.
我有一个正确构建所有内容的Makefile,但出于某种原因,每次运行make时都坚持重新生成report.pdf.通过输出读取make -d
显示,Make说:"必须重新制作目标mp-int-2.4-ni'." and "Must remake target
mp-int-2.4-i'." 每次运行,但这些都被宣布为PHONY,因此除非他们依赖的东西发生变化,否则不应重新制作.或者至少我这么认为?
有关可能导致此问题的任何想法,以及我如何避免每次都重新制作最终的PDF文件?
GRAPHS := mp-int-2.4-ni mp-int-2.4-i
.PHONY : $(GRAPHS)
.PRECIOUS : graphs/%.pdf
report.pdf: report.tex $(GRAPHS)
# ...
$(GRAPHS): %: graphs/%.pdf graphs/%.tex
graphs/%.pdf: graphs/%.eps
# ...
graphs/%.tex graphs/%.eps: graphs/%.plot
# ...
Run Code Online (Sandbox Code Playgroud)
make -d
在make之后已经运行了$ make -d | grep -Ev "Trying|Reject|Avoid|intermediate"
Considering target file `report.pdf'.
Considering target file `report.tex'.
Looking for an implicit rule for `report.tex'.
No implicit rule found for `report.tex'.
Finished prerequisites of target file …
Run Code Online (Sandbox Code Playgroud) 我有一个问题需要我做许多(~4k)小(~3x3)平方Hermitian矩阵的特征分解和矩阵乘法.特别是,我需要每个工作项来执行一个这样的矩阵的特征分解,然后执行两个矩阵乘法.因此,每个线程必须做的工作相当少,并且完整的工作应该是高度可并行化的.
不幸的是,似乎所有可用的OpenCL LAPACK都用于将大矩阵上的操作委托给GPU,而不是用于在OpenCL内核中进行较小的线性代数操作.由于我不想在OpenCL中为任意大小的矩阵实现矩阵乘法和特征分解,我希望这里有人可能知道这个工作适合的库?
我知道OpenCL可能会在某些时候获得内置矩阵运算,因为矩阵类型是保留的,但现在这并没有多大用处.这里有一个类似的问题,从2011年开始,但它只是说要自己动手,所以我希望从那时起情况有所改善.