我正在处理一个包含一些子项目的项目。每个子项目都位于自己的文件夹中。
projDir/subProj1
/subProj2
Run Code Online (Sandbox Code Playgroud)
等等。每个子项目都是一个独立运行的项目。但是现在我想使用 ie subProj1in 的一些功能subProj2。但一般情况下,in 中的函数subProj1不应该是可见的。因此,通常将subProj1-path添加到 MATLAB-Path并不是一个好主意。因此,我想将此路径添加到存储在subProj2该脚本中的.m 文件中,并且在完成此脚本后,该路径应由它自己(自动)删除。是否有可能临时向 MATLAB-path 变量添加路径?
在我的代码中,我需要使uint32_t var范围内的变量饱和[MIN, MAX]。
MIN并被MAX定义为宏,因此我可以在头文件中轻松更改这些值。
标题:
#define MIN (0)
#define MAX (1000)
Run Code Online (Sandbox Code Playgroud)
代码:
if(var > MAX){
var = MAX;
}else if(var < MIN){
var = MIN;
}
Run Code Online (Sandbox Code Playgroud)
当我现在使用 compiler flag 时-Wtype-limits,我收到一条警告,即第二次检查var < MIN始终为 false。此警告表明我可以删除第二个比较。
只要我定义#define MIN (0),这就是有道理的,但是,当将其更改为 let's say 时#define MIN (10),则第二次比较是强制性的。
所以我的问题是:我怎么能告诉编译器,它MIN可以是大于或等于零的任何值?
我有一项活动仅包含一项ImageView。该视图应显示从URL加载的图像。我希望此图像将使用整个屏幕宽度显示在屏幕顶部。我的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/overview_bgColor" >
<ImageView
android:id="@+id/overview_image"
android:contentDescription="image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|fill_horizontal"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但是图像始终显示为垂直居中。但为什么?我以为top会把它ImageView放在我的屏幕上?
我正在编程一个uC.为了与uC互动,我写了一个菜单.在这个菜单中,我想在终端窗口中的PC上打印一些信息(在这种情况下是tera术语VT).因此我想打印这样的东西:
dec. duty cycle by x%x应该用marco中定义的数字代替.为此,每个菜单项都包含一个描述字符串.该字符串通过1interlaceMenuFct(...)-function 传递给菜单项,并通过-function打印到终端print_text(...).所以我写道:
头文件:
#define X 5
#define _STR(s) #s
#define _XSTR(s) _STR(s)
extern void interlaceMenuFct(menuFct_t *fct, const char *description, const char *symbol, menuItem_t *parent, menuFct_t *prev, void *action, unsigned char cnt);
extern void print_text(const char *text);
Run Code Online (Sandbox Code Playgroud)
在代码文件中:
interlaceMenuFct(&decDC_mf,"dec. duty cycle by "_XSTR(X)"%","-",&io_mi,&incDC_mf,&decrementDutyCycle,0);
Run Code Online (Sandbox Code Playgroud)
这里我用_XSTR(s)-function用数字代替X.
现在我的"问题":这有效,但我不明白为什么.该函数需要interlaceMenuFct(...)一个指向字符串的指针.但在函数调用我(想我)创建三个字符串:dec. ...,5,%
它的工作原理,因为这些字符串是静态的,并且链接器将它们按升序排列在内存或这三个字符串自动执行编译器串连,因为没有否则写在"-tags?之间?