小编nav*_*r91的帖子

用C++更改终端字体大小

我正在做一个小项目,在C++中很有趣(在Ubuntu 11.04中),程序是基于文本的(全部在Gnome终端中).我正在使用ncurses库来更改字体颜色,但我还想在终端上打印不同大小的文本,并且无法弄清楚如何使用ncurses.有没有办法做到这一点(可能与ncurses,或与不同的库)?理想情况下,我希望它是终端独立的,但如果它只是在Gnome中运行的解决方案,或者仅适用于Ubuntu,或者其他类似的限制那么那就更好了!

一如既往地感谢您的帮助.


我已经尝试过Keith Thompson的建议,但无法让它发挥作用.这是我的代码:

cout << "\x1b]50;" << "10x20" << "\a" << flush;
cout << "test";
Run Code Online (Sandbox Code Playgroud)

它只显示为终端首选项中指定的相同字体大小.我正在使用:GNOME Terminal 2.32.1如果有帮助的话!

c++ linux terminal ncurses

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

Matlab预分配

我在MATLAB中运行了一个扩散反应方程的模拟,我预先为我的所有向量预先分配了内存,但是,在循环期间,我使用BICG解决了一个方程组,内存量MATLAB使用的正在增加.

例如:

concentration = zeros(N, iterations);

for t = 1:iterations
   concentration(:,t+1) = bicg(matrix, concentration(:,t));
end
Run Code Online (Sandbox Code Playgroud)

随着程序的运行,MATLAB使用的内存量增加,这似乎表明矩阵,浓度随着程序的继续而增加,即使我预先分配了空间.这是因为矩阵中的元素变成了双精度而不是零吗?是否有更好的方法为此矩阵预分配内存,以便程序所需的所有内存将在开始时预先分配?这样对我来说会更容易,因为那时我会从一开始就知道程序需要多少内存,以及模拟是否会使计算机崩溃.

伙计们,感谢您的帮助.我做了一些搜索并没有找到答案,所以我希望我不会重复一个问题.


编辑:

谢谢Amro和stardt的帮助.我尝试在MATLAB中运行'memory',但是解释器说我的系统类型不支持命令.我重新运行模拟,但每10次迭代显示"whos concentration",矩阵的分配大小不随时间变化.但是,我注意到矩阵的大小约为1.5 GB.尽管如此,系统监视器只显示MATLAB使用300 MB(但在模拟结束时它稳定增加到1 GB以上).所以我猜测MATLAB预先分配了内存并且没有内存泄漏,但是系统监视器不计算内存,因为MATLAB开始在循环中向它写入值.我不知道为什么会这样,因为我认为写零会触发系统监视器将内存视为"正在使用",但我猜这不是这种情况.

无论如何,我感谢你的帮助.我会将你的两个答案都投票,因为我发现它们都有帮助,但我没有足够的声誉点来做到这一点.多谢你们!

performance matlab memory-management

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

标签 统计

c++ ×1

linux ×1

matlab ×1

memory-management ×1

ncurses ×1

performance ×1

terminal ×1